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);
	}

相关推荐
SmartRadio5 小时前
CH585M+MK8000、DW1000 (UWB)+W25Q16的低功耗室内定位设计
c语言·开发语言·uwb
rfidunion5 小时前
QT5.7.0编译移植
开发语言·qt
rit84324995 小时前
MATLAB对组合巴克码抗干扰仿真的实现方案
开发语言·matlab
微露清风5 小时前
系统性学习C++-第十八讲-封装红黑树实现myset与mymap
java·c++·学习
大、男人5 小时前
python之asynccontextmanager学习
开发语言·python·学习
hqwest6 小时前
码上通QT实战08--导航按钮切换界面
开发语言·qt·slot·信号与槽·connect·signals·emit
CSARImage6 小时前
C++读取exe程序标准输出
c++
智驱力人工智能6 小时前
守护流动的规则 基于视觉分析的穿越导流线区检测技术工程实践 交通路口导流区穿越实时预警技术 智慧交通部署指南
人工智能·opencv·安全·目标检测·计算机视觉·cnn·边缘计算
一只小bit6 小时前
Qt 常用控件详解:按钮类 / 显示类 / 输入类属性、信号与实战示例
前端·c++·qt·gui
AC赳赳老秦6 小时前
DeepSeek 私有化部署避坑指南:敏感数据本地化处理与合规性检测详解
大数据·开发语言·数据库·人工智能·自动化·php·deepseek