C++OpenCV(6):图像阈值操作

🔆 文章首发于我的个人博客:欢迎大佬们来逛逛

🔆 OpenCV项目地址及源代码:点击这里


文章目录

图像阈值化

阈值又叫临界值,是指一个效应能够产生的最低值或最高值。

例如我们选择的阈值为125,则图像中高于125像素值的会变白,而低于125像素值的会变黑。做到一副图像中利用阈值分割出我们需要的物体部分

基于物体与背景之间的灰度差异 ,此分割属于像素级的分割。

因此我们应该把图像中的每一个像素点的灰度值与选取的阈值进行比较,并作出相应的判断

常见的阈值方式:

  • 二进制阈值化:大变最大,小变0
  • 反二进制阈值化:大变0,小变最大
  • 截断阈值化:大变阈值,小不变
  • 阈值化为0:大不变,小变0
  • 反阈值化为0:大变0,小不变
  • 自适应
  • OTSU
  • 三角算法

函数API:threshold

cpp 复制代码
double threshold( InputArray src, OutputArray dst,double thresh, double maxval, int type );
/*******************************************************************
*			src: 					输入图像
*			dst:					输出图像
*			thresh:					阈值的具体值
*			maxval:				 	 阈值的最大值
*			type:				 	 阈值操作类型
*********************************************************************/
//阈值操作类型
enum ThresholdTypes {
    THRESH_BINARY     = 0, 		//二进制
    THRESH_BINARY_INV = 1, 		//反二进制
    THRESH_TRUNC      = 2, 		//截断
    THRESH_TOZERO     = 3, 		//阈值化为0
    THRESH_TOZERO_INV = 4, 		//反阈值化为0
    THRESH_MASK       = 7,		//自适应阈值
    THRESH_OTSU       = 8,		//利用最大类间方差法(OTSU)求出对图像进行二值化处理的最佳阈值
    THRESH_TRIANGLE   = 16 		//三角算法选择最优阈值  
};
cpp 复制代码
void testThreshold() {
		cv::threshold(mt, saves["二进制"], 125,200, cv::THRESH_BINARY);
		cv::threshold(mt, saves["反二进制"], 125, 200, cv::THRESH_BINARY_INV);
		cv::threshold(mt, saves["截断"], 125, 200, cv::THRESH_TRUNC);
		cv::threshold(mt, saves["阈值化为0"], 125, 200, cv::THRESH_TOZERO);
		cv::threshold(mt, saves["反阈值化为0"], 125, 200, cv::THRESH_TOZERO_INV);
	}

相关推荐
玖玥拾9 小时前
C# 语言进阶(十四)Unity UI界面开发 + 网络消息联动
服务器·开发语言·网络·ui·unity·c#·游戏引擎
aaPIXa6229 小时前
C++ 质量前置检查:clang-format 与 clang-tidy 实践指南
开发语言·c++
余额瞒着我当琳9 小时前
C++ 基础核心概念精讲:引用、内联与 nullptr
java·开发语言·c++
名字还没想好☜9 小时前
Go 内存逃逸分析:什么时候变量跑到堆上
开发语言·算法·性能优化·golang·go·内存逃逸
Ivanqhz9 小时前
NFM(神经因子分解机)
开发语言·javascript·人工智能·算法·蓝桥杯
小欣加油9 小时前
leetcode1331 数组序号转换
数据结构·c++·算法·leetcode·职场和发展
阿米亚波9 小时前
【C++ STL】std::deque
数据结构·c++·笔记·算法·stl
yxlalm10 小时前
2.java秒杀项目第二课-后端登录功能
java·开发语言
光学补偿10 小时前
文件IO的前世今生
开发语言·学习·面试·java-ee
解局易否结局10 小时前
鸿蒙原生开发实战:用 Native C++ 与 OpenGL ES 构建高性能图形渲染管线
c++·elasticsearch·华为·harmonyos