当前位置: 首页 > news >正文

鹤壁市网站建设_网站建设公司_百度智能云_seo优化

邯郸做商城网站的公司,企业网站搭建及优化,福田公司是国企吗,网站建设和在图像阈值化操作中#xff0c;更关注的是从二值化图像中#xff0c;分离目标区域和背景区域#xff0c;但是仅仅通过设定固定阈值很难达到理想的分割效果。而自适应阈值#xff0c;则是根据像素的邻域块的像素值分布来确定该像素位置上的二值化阈值。这样做的好处#xf…在图像阈值化操作中更关注的是从二值化图像中分离目标区域和背景区域但是仅仅通过设定固定阈值很难达到理想的分割效果。而自适应阈值则是根据像素的邻域块的像素值分布来确定该像素位置上的二值化阈值。这样做的好处 1. 每个像素位置处的二值化阈值不是固定不变的而是由其周围邻域像素的分布来决定的。 2. 亮度较高的图像区域的二值化阈值通常会较高而亮度低的图像区域的二值化阈值则会相适应的变小。 3. 不同亮度、对比度、纹理的局部图像区域将会拥有相对应的局部二值化阈值。 函数原型 1. void adaptiveThreshold(InputArray src, OutputArray dst, 2. double maxValue, int adaptiveMethod, 3. int thresholdType, int bolckSize, double C) 参数说明 参数1InputArray类型的src输入图像填单通道单8位浮点类型Mat即可。参数2函数运算后的结果存放在这。即为输出图像与输入图像同样的尺寸和类型。参数3预设满足条件的最大值。参数4指定自适应阈值算法。可选择ADAPTIVE_THRESH_MEAN_C 或 ADAPTIVE_THRESH_GAUSSIAN_C两种。具体见下面的解释。参数5指定阈值类型。可选择THRESH_BINARY或者THRESH_BINARY_INV两种。即二进制阈值或反二进制阈值。参数6表示邻域块大小用来计算区域阈值一般选择为3、5、7......等。参数7参数C表示与算法有关的参数它是一个从均值或加权均值提取的常数可以是负数。具体见下面的解释。//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 对参数4与参数7内容的解释 自适应阈值化计算大概过程是为每一个象素点单独计算的阈值即每个像素点的阈值都是不同的就是将该像素点周围B*B区域内的像素加权平均然后减去一个常数C从而得到该点的阈值。B由参数6指定常数C由参数7指定。 ADAPTIVE_THRESH_MEAN_C为局部邻域块的平均值该算法是先求出块中的均值再减去常熟C。 ADAPTIVE_THRESH_GAUSSIAN_C为局部邻域块的高斯加权和。该算法是在区域中(x, y)周围的像素根据高斯函数按照他们离中心点的距离进行加权计算再减去常数C。 举个例子如果使用平均值方法平均值mean为190差值delta即常数C为30。那么灰度小于160的像素为0大于等于160的像素为255。如下图 如果是反向二值化如下图 delta常数C选择负值也是可以的。 代码演示 /*自适应阈值adaptiveThreshold()函数 */#include opencv2/core/core.hpp #include opencv2/highgui/highgui.hpp #include opencv2/imgproc/imgproc.hpp #include iostream using namespace std; using namespace cv;int main() {//------------【1】读取源图像并检查图像是否读取成功------------ Mat srcImage imread(D:\\OutPutResult\\ImageTest\\build.jpg);if (!srcImage.data){cout 读取图片错误请重新输入正确路径\n;system(pause);return -1;}imshow(【源图像】, srcImage);//------------【2】灰度转换------------ Mat srcGray;cvtColor(srcImage, srcGray, CV_RGB2GRAY);imshow(【灰度图】, srcGray);//------------【3】初始化相关变量--------------- Mat dstImage; //初始化自适应阈值参数const int maxVal 255;int blockSize 3; //取值3、5、7....等int constValue 10;int adaptiveMethod 0;int thresholdType 1;/*自适应阈值算法0:ADAPTIVE_THRESH_MEAN_C1:ADAPTIVE_THRESH_GAUSSIAN_C--------------------------------------阈值类型0:THRESH_BINARY1:THRESH_BINARY_INV*///---------------【4】图像自适应阈值操作-------------------------adaptiveThreshold(srcGray, dstImage, maxVal, adaptiveMethod, thresholdType, blockSize, constValue);imshow(【自适应阈值】, dstImage);waitKey(0);return 0; } 显示结果 可以发现自适应阈值能很好的观测到边缘信息。阈值的选取是算法自动完成的很方便。 滤波处理  另外做不做滤波处理等对图像分割影响也比较大。 1. adaptiveThreshold分割 Mat imgimread(D:/ImageTest/sudoku.png,CV_LOAD_IMAGE_COLOR);Mat dst1;Mat dst2;Mat dst3;cv::cvtColor(img,img,COLOR_RGB2GRAY);//进行灰度处理medianBlur(img,img,5);//中值滤波threshold(img,dst1, 127, 255, THRESH_BINARY);//阈值分割adaptiveThreshold(img,dst2,255,ADAPTIVE_THRESH_MEAN_C,THRESH_BINARY,11,2);//自动阈值分割,邻域均值adaptiveThreshold(img,dst3,255,ADAPTIVE_THRESH_GAUSSIAN_C,THRESH_BINARY,11,2);//自动阈值分割高斯邻域//ADAPTIVE_THRESH_MEAN_C : threshold value is the mean of neighbourhood area//ADAPTIVE_THRESH_GAUSSIAN_C : threshold value is the weighted sum of neighbourhood values where weights are a gaussian window. imshow(dst1, dst1);imshow(dst2, dst2);imshow(dst3, dst3);imshow(img, img);waitKey(0); 效果对比很明显加入邻域权重后处理更理想 2. 加入滤波处理的最大类间方差分割 Mat imgimread(D:/ImageTest/pic2.png,CV_LOAD_IMAGE_COLOR);Mat dst1;Mat dst2;Mat dst3;cv::cvtColor(img,img,COLOR_RGB2GRAY);//进行灰度处理// medianBlur(img,img,5);threshold(img,dst1, 127, 255, THRESH_BINARY);threshold(img,dst2,0, 255, THRESH_OTSU);//最大类间方差法分割 Otsu algorithm to choose the optimal threshold valueMat img2img.clone();GaussianBlur(img2,img2,Size(5,5),0);//高斯滤波去除小噪点threshold(img2,dst3, 0, 255, THRESH_OTSU);imshow(BINARY dst1, dst1);imshow(OTSU dst2, dst2);imshow(GaussianBlur OTSU dst3, dst3);imshow(original img, img);waitKey(0); 效果如下显然不滤波和滤波差别明显         参考文章https://blog.csdn.net/sinat_36264666/article/details/77586964              https://blog.csdn.net/abcvincent/article/details/78822191转载于:https://www.cnblogs.com/GaloisY/p/11037350.html
http://www.ihoyoo.com/news/115039.html

相关文章:

  • 站酷网怎么赚钱拓者设计吧首页
  • 网站seo内部优化网站建设及网络推广
  • 旅游网站开发结束语百度seo和sem的区别
  • 小程序代注册济南百度推广seo
  • 安全的集团网站建设怎么宣传自己的网站推广
  • 河南网站推广公司wordpress 阿里云景象
  • 中工信融网站建设网站原创文章
  • 哪家高端网站建设好阿里云可以放几个网站
  • 四川省建设注册中心网站长春网站怎么推广
  • 淘宝店铺网站建立中小型企业网站建设的资金流动
  • asp网站有哪些大美南京网站
  • 衡水市住房和城乡建设局网站基金网站建设需求书
  • 产品包装设计网站页面设计师招聘
  • 免费网站建设必择山东绘政科技科右中旗网站建设
  • 移动网站建设机构鄂州是哪个省
  • 深圳专业网站建设公司咸阳软件开发
  • 专业网站设计制作过程微信公众号如何做微网站
  • 信主网站广东省农业农村厅官网
  • 个人网站设计成首页网站后台演示地址
  • 17我们一起做网站WordPress 编辑器2016
  • 嘉兴网站建设品牌升级网页设计达人及作品推荐
  • 南京网站建设推广百度网站安全在线检测
  • 企业官方网站怎么写响应式网站头部
  • 千城网站建设数据库网站开发教程
  • 有哪些是做二手的网站wordpress导入超时
  • 东莞门户网站建设方案石家庄模板建站系统
  • 电商网站建设内容规划商务网站怎么做
  • 网站建设与制作区别青岛网站建设方案服务
  • 公司网站怎么管理砀山做网站
  • 做一个商务平台网站的费用做翻译网站 知乎