码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-07-22 22:27:56      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:lock   enc   logs   固定   binary   ssi   creat   color   include   

一、图像阈值化简介

技术分享

二、固定阈值

技术分享

技术分享

技术分享

 三、自适应阈值

技术分享

技术分享

 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_ADAPTIVE_THRESH_MEAN_C,CV_THRESH_BINARY,11,5);
 9     adaptiveThreshold(src,dst,255,CV_ADAPTIVE_THRESH_GAUSSIAN_C,CV_THRESH_BINARY,11,5);
10     imshow("src",src);
11     imshow("dst",dst);
12     waitKey(0);
13 }

技术分享

 四、滚动条调整参数

 1 #include<opencv2/opencv.hpp>
 2 using namespace cv;
 3 
 4 Mat src,dst,dst2;
 5 int thres_value=21,block_size=5,c=5;
 6 
 7 void onThreshold(int ,void*){
 8     threshold(src,dst,thres_value,255,CV_THRESH_BINARY);
 9     imshow("固定阈值",dst);
10 }
11 void onAdaptiveThreshold(int ,void *){
12     if(block_size%2==0)    block_size++;//如果block_size是偶数
13     adaptiveThreshold(src,dst2,255,CV_ADAPTIVE_THRESH_GAUSSIAN_C,CV_THRESH_BINARY,block_size,c);
14     imshow("自适应阈值",dst2);
15 }
16 
17 void main(){
18     src=imread("E://1.jpg",0);//以灰度模式读入    
19     namedWindow("固定阈值",CV_WINDOW_AUTOSIZE);
20     namedWindow("自适应阈值",CV_WINDOW_AUTOSIZE);
21     createTrackbar("Threshold", "固定阈值",&thres_value,255,onThreshold,0);
22     createTrackbar("Block_size", "自适应阈值",&block_size,255,onAdaptiveThreshold,0);
23     createTrackbar("C", "自适应阈值",&c,255,onAdaptiveThreshold,0);
24 
25     onThreshold(thres_value,0); //回调函数初始化
26     onAdaptiveThreshold(block_size,0);
27     onAdaptiveThreshold(c,0);
28 
29     imshow("src",src);
30     waitKey(0);
31 }

技术分享

 

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

标签:lock   enc   logs   固定   binary   ssi   creat   color   include   

原文地址:http://www.cnblogs.com/little-monkey/p/7222640.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!