阈值化

一、固定阈值化Threshold()函数

double threshold( InputArray src, OutputArray dst,
                  double thresh, double maxval, int type );

二、自适应阈值操作:adaptiveThreshold()函数

void adaptiveThreshold( InputArray src, OutputArray dst,
                                     double maxValue, int adaptiveMethod,
                                     int thresholdType, int blockSize, double C );

 

 1 #include<opencv2/opencv.hpp>
 2 #include<iostream>
 3
 4 using namespace cv;
 5 using namespace std;
 6
 7 #define WINDOW_NAME "【程序窗口】"
 8
 9 int g_nThresholdValue = 100;
10 int g_nThresholdType = 3;
11 Mat g_srcImage, g_grayImage, g_dstImage;
12
13 void on_Threshold(int, void *);
14
15 int main(int argc, char** argv) {
16     g_srcImage = imread("C:\\Users\\Nelsoner\\Desktop\\Camera Roll\\05.jpg");
17
18     //存留一份源图的灰度图
19     cvtColor(g_srcImage, g_grayImage, COLOR_RGB2GRAY);
20
21     namedWindow(WINDOW_NAME);
22     imshow(WINDOW_NAME, g_srcImage);
23
24     createTrackbar("模式", WINDOW_NAME, &g_nThresholdType, 4, on_Threshold);
25     createTrackbar("参数值", WINDOW_NAME, &g_nThresholdValue, 255, on_Threshold);
26     on_Threshold(0, 0);
27
28     waitKey(0);
29     return 0;
30 }
31
32 void on_Threshold(int, void *) {
33     threshold(g_grayImage, g_dstImage, g_nThresholdValue, 255, g_nThresholdType);
34     imshow(WINDOW_NAME, g_dstImage);
35 }
时间: 2024-09-27 17:50:45

阈值化的相关文章

OpenCV的阈值化函数threshold

在OpenCV中,threshold用来进行对图像(二维数组)的二值化阈值处理 通过查找OpenCV在线文档,发现存在很多函数: 其函数原型如下: 1. C版本的:函数原型: void cvThreshold( const CvArr* src, CvArr* dst, double threshold,double max_value, int threshold_type ); src,dst: 不必多说,其要求类型一致性: threshold:需要设置的阈值,当像素值大于某个数字时,设定一

【练习6.1】阈值化、腐蚀、cvFilter2D及自定义滤波器

提纲 题目要求 程序代码 结果图片 要言妙道 题目要求: 用cvFilter2D创建一个滤波器,只检测一副图像里的60度角的直线.将结果显示.做一下分部步操作: a.自定义卷积核,使用cvFilter2D,处理图像 b.对a的结果图片阈值化,是60度上的直线更清晰 c.对b的结果腐蚀 备注: 对于这道题,我的理解是,只保留一副图片60度角上的直线,是为了增加对自定义滤波器的熟悉度 在Opencv卷积滤波cvFilter2D一文中有更多常用的滤波器模板可以借鉴 程序代码: 1 // OpenCVE

opencv学习之路(13)、图像阈值化

一.图像阈值化简介 二.固定阈值 三.自适应阈值 1 #include<opencv2/opencv.hpp> 2 using namespace cv; 3 4 void main(){ 5 Mat src=imread("E://1.jpg",0);//以灰度模式读入 6 Mat dst; 7 //threshold(src,dst,100,255,CV_THRESH_BINARY); 8 //adaptiveThreshold(src,dst,255,CV_ADAPT

Opencv3编程入门笔记(4)腐蚀、膨胀、开闭运算、漫水填充、金字塔、阈值化、霍夫变换

19      腐蚀erode.膨胀dilate 腐蚀和膨胀是针对图像中的白色部分(高亮部分)而言的,不是黑色的.除了输入输出图像外,还需传入模板算子element,opencv中有三种可以选择:矩形MORPH_RECT,交叉形MORPH_CROSS,椭圆形MORPH_ELLIPSE.Matlab中会有更多一点的模板. 例如: Mat element = getStructuringElement(MORPH_RECT,Size(15,15)); erode(srcImage,dstImage,

【练习5.6】漫水填充法、阈值化、cvSaveImage保存格式

提纲 题目要求 程序代码 结果图片 题目要求: 从噪声图像中创建一个清晰的掩码.完成练习5后,保留图形中最大的图形区域.在图像的左上角设置一个指针,然后让他遍历图像.当你发现像素值为255的时候,存储其位置,然后对其漫水填充,新颜色值为100,.读出漫水填充法返回的连续区域,记录下其面积.如果图像中有另一个较大的区域,那么用0值对这个相对较小的区域进行颜色填充,然后删除已记录的面积.如果新的区域大于之前的区域,那么以0值填充之前的区域并删除他的位置.最后以颜色值255填充剩余的最大区域,显示结果

灰度图像阈值化分割常见方法总结及VC实现

转载地址:http://blog.csdn.net/likezhaobin/article/details/6915755 在图像处理领域,二值图像运算量小,并且能够体现图像的关键特征,因此被广泛使用.将灰度图像变为二值图像的常用方法是选定阈值,然后将待处理图像的每个像素点进行单点处理,即将其灰度值与所设置的门限进行比对,从而得到二值化的黑白图.这样一种方式因为其直观性以及易于实现,已经在图像分割领域处于中心地位.本文主要对最近一段时间作者所学习的阈值化图像分割算法进行总结,全文描述了作者对每种

【数字图像处理】五.MFC图像点运算之灰度线性变化、灰度非线性变化、阈值化和均衡化处理具体解释

本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行解说.主要通过MFC单文档视图实现显示BMP图片点运算处理.包含图像灰度线性变换.灰度非线性变换.图像阈值化处理.图像均衡化处理等知识,并结合前一篇论文灰度直方图进行展示 .同一时候文章比較具体基础,希望该篇文章对你有所帮助,尤其是刚開始学习的人和学习图像处理的学生. [数字图像处理]一.MFC具体解释显示BMP格式图片 [数字图像处理]二.MFC单文档切割窗体显示图片 [数字图像处理]

OpenCV实现图像阈值化

纯粹阅读,请移步OpenCV实现图像阈值化 效果图 源码 KqwOpenCVBlurDemo 阈值化是一种将我们想要在图像中分析的区域分割出来的方法. 我们把每个像素值都与一个预设的阈值做比较,再根据比较的结果调整像素值. 类似这样 Imgproc.threshold(src,src,100,255,Imgproc.THRESH_BINARY); 其中100是阈值,255是最大值(纯白色的值). 常量 名称 常量 二值阈值化 Imgproc.THRESH_BINARY 阈值化到零 Imgproc

openCV—Python(10)—— 图像阈值化处理

一.函数简介 1.threshold-图像简单阈值化处理 函数原型:threshold(src, thresh, maxval, type, dst=None) src:图像矩阵 thresh:阈值 maxVal:像素最大值 type:阈值化类型 2.adaptiveThreshold-图像自适应阈值化处理 函数原型:adaptiveThreshold(src, maxValue, adaptiveMethod, thresholdType, blockSize, C, dst=None) sr

《OpenCV:灰度图像阈值化分割常见方法总结及VC代码》

支持原创,拿来收藏!转载地址:http://blog.csdn.net/likezhaobin/article/details/6915755?userName=u014395105&userInfo=aWOfy4XjkeuESVqMgVdrnPewKx6gaD2TZ6xUFF%2FXs%2FeZjmZKRHLyhzVPli3izF4JpSQuVNfcdFRe6pvuXl6VvRJ%2FSmjVpClq8XgXbwl56GUA19Luch91NWA57umNAidF94p6X1kqBpQ9l4%