14、【opencv入门】图像阈值化threshold

一、图像阈值化简介

二、固定阈值

三、自适应阈值

【示例】

1 1 //图像的阈值化 2 2 #include<opencv2/opencv.hpp> 3 3 using namespace cv; 4 4 5 5 int main(){ 6 6 Mat src=imread("1.jpg",0);//以灰度模式读入 7 7 Mat dst; 8 8 //threshold(src,dst,100,255,CV_THRESH_BINARY); 9 9 //adaptiveThreshold(src,dst,255,CV_ADAPTIVE_THRESH_MEAN_C,CV_THRESH_BINARY,11,5); 1010 adaptiveThreshold(src,dst,255,CV_ADAPTIVE_THRESH_GAUSSIAN_C,CV_THRESH_BINARY,11,5); 1111 imshow("src",src); 1212 imshow("dst",dst); 1313 waitKey(0); 1414 return 0; 1515 }

四、滚动条调整参数

【示例】

1 1 //添加滚动条调整参数 2 2 #include<opencv2/opencv.hpp> 3 3 using namespace cv; 4 4 5 5 Mat src,dst,dst2; 6 6 int thres_value=21,block_size=5,c=5; 7 7 8 8 void onThreshold(int ,void*){ 9 9 threshold(src,dst,thres_value,255,CV_THRESH_BINARY); 1010 imshow("固定阈值",dst); 1111 } 1212 void onAdaptiveThreshold(int ,void *){ 1313 if(block_size%2==0) block_size++;//如果block_size是偶数 1414 adaptiveThreshold(src,dst2,255,CV_ADAPTIVE_THRESH_GAUSSIAN_C,CV_THRESH_BINARY,block_size,c); 1515 imshow("自适应阈值",dst2); 1616 } 1717 1818 int main(){ 1919 src=imread("1.jpg",0);//以灰度模式读入 2020 namedWindow("固定阈值",CV_WINDOW_AUTOSIZE); 2121 namedWindow("自适应阈值",CV_WINDOW_AUTOSIZE); 2222 createTrackbar("Threshold", "固定阈值",&thres_value,255,onThreshold,0); 2323 createTrackbar("Block_size", "自适应阈值",&block_size,255,onAdaptiveThreshold,0); 2424 createTrackbar("C", "自适应阈值",&c,255,onAdaptiveThreshold,0); 2525 2626 onThreshold(thres_value,0); //回调函数初始化 2727 onAdaptiveThreshold(block_size,0); 2828 onAdaptiveThreshold(c,0); 2929 3030 imshow("src",src); 3131 waitKey(0); 3232 return 0; 3333 }
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )