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

云南做企业建站公司网站做的比较好

云南做企业建站,公司网站做的比较好,昆明网站建设搭建,网站备案是什么基础入门 图像阈值处理是一种二值化技术,它基于预设的阈值,可以将图像中的像素分为两大类:一大类是背景,另一大类是前景或目标对象。这个过程涉及将图像中的每个像素值与阈值进行比较,并根据比较结果决定保留原始值还是…

基础入门

        图像阈值处理是一种二值化技术,它基于预设的阈值,可以将图像中的像素分为两大类:一大类是背景,另一大类是前景或目标对象。这个过程涉及将图像中的每个像素值与阈值进行比较,并根据比较结果决定保留原始值还是替换为新值,新值通常是二值化后的0或255。

        OpenCV提供了cv::threshold()函数,以实现基本的阈值处理。

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

        各个参数的含义如下。

        src:输入的单通道图像,通常为灰度图像。

        dst:输出图像,与src尺寸相同,类型根据type参数确定。

        thresh:阈值。

        maxval:当像素值超过阈值时,设置的新值。

        type:阈值类型,常见的取值如下。

          cv::THRESH_BINARY:大于阈值设为maxval,否则设为0。

          cv::THRESH_BINARY_INV:小于阈值设为maxval,否则设为0。

          cv::THRESH_TRUNC:大于阈值的像素设为阈值,其余不变。

          cv::THRESH_TOZERO:小于阈值的像素设为0,其余不变。

          cv::THRESH_TOZERO_INV:大于阈值的像素设为0,其余不变。

实战解析

        下面的实战代码完成了一个基本的图像处理任务 —— 将一张灰度图像转换成二值图像。

        首先,我们创建一个Mat类型的变量img,并尝试使用imread函数读取图片,通过参数IMREAD_GRAYSCALE指定以灰度模式加载。接下来,我们调用threshold函数对灰度图像img进行阈值处理,将其转换为二值图像。这里,阈值被设置为127,阈值类型为THRESH_BINARY。这意味着,所有像素值大于或等于127的将被设为最大值255(代表白色),其余设为0(代表黑色)。最后,分别使用imshow函数显示原始的灰度图像和经过二值化处理后的图像。

#include <opencv2/opencv.hpp>
#include <iostream>using namespace cv;
using namespace std;int main()
{Mat img = imread("OpenCV.png", IMREAD_GRAYSCALE);if (img.empty()){cout << "Can not open or find the image" << endl;return -1;}Mat binaryImg;threshold(img, binaryImg, 127, 255, THRESH_BINARY);imshow("Original Image", img);imshow("Binary Image", binaryImg);waitKey(0);return 0;
}

        执行上面的代码,运行效果可参考下图。

        在实际应用中,阈值的选择往往直接影响到后续处理的效果,特别是对于光照变化大、噪声较多的图像。此时,可以使用下面的自适应阈值处理方法。它能够根据图像局部特性动态调整阈值,特别适合于处理光照不均匀的场景,比如:车牌识别、文档扫描等应用。

自适应阈值处理

        自适应阈值处理是一种更智能的图像二值化方法,它不像普通阈值处理那样使用单一固定阈值,而是针对图像的不同区域或区块计算各自的阈值,以适应局部的亮度变化。这对于光照不均匀的图像特别有效,能够更好地保留图像细节。

        在OpenCV中,自适应阈值处理使用cv::adaptiveThreshold()函数,其声明如下。

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

        其参数含义与cv::threshold()类似,额外参数的含义如下。

        adaptiveMethod:自适应方法,常见取值有cv::ADAPTIVE_THRESH_MEAN_C(均值)和cv::ADAPTIVE_THRESH_GAUSSIAN_C(高斯加权)。

        blockSize:用于计算局部阈值的邻域大小,通常选择奇数值,以便有明确的中心像素点。

        C:常数项,从计算出的局部阈值中减去或加上这个常数,用于调整最终的阈值。

        下面的实战代码演示了使用adaptiveThreshold函数进行自适应阈值处理的情形。

#include <opencv2/opencv.hpp>
#include <iostream>using namespace cv;
using namespace std;int main()
{Mat img = imread("OpenCV.png", IMREAD_GRAYSCALE);if (img.empty()){cout << "Can not open or find the image" << endl;return -1;}// 自适应阈值处理Mat adaptiveThreshImg;adaptiveThreshold(img, adaptiveThreshImg, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY, 11, 2);imshow("Original Image", img);imshow("Adaptive Threshold Image", adaptiveThreshImg);waitKey(0);return 0;
}

        执行上面的代码,运行效果可参考下图。可以看到,经过自适应阈值处理后,图像的轮廓变得格外清晰。自适应阈值处理方法适用于复杂光照条件下图像的预处理,有助于提高后续图像分析和识别的准确率。

http://www.yayakq.cn/news/18194/

相关文章:

  • 济宁网站建设常用解决方案网页打不开视频
  • 中国建设工程监理协会网站营销方案策划书怎么写
  • 网站开发文案电商运营怎么做的
  • 设计坞网站官方下载免费网站制作申请
  • 用discuz可以做视频网站吗html网站开发实例教程
  • 温州网站的优化网站seo诊断书
  • 搭建广告网站费用黄页网站建设黄页网站建设
  • 能自己做的ppt网站能够做渗透的网站
  • 网站开发技术可行性分析做网站为什么需要购买域名
  • 网站开发 软件开发网站 seo优化
  • 牙膏的网站建设方案全球网站排名前100
  • 开封网站优化公司西安好的网站建设公司
  • 建网站需要买些什么品牌手表网站
  • 表格网站怎么做的青岛建网站
  • 湛江建站程序信息网络系统
  • 受欢迎的医疗网站建设微信小程序设计开发团队
  • 园林景观设计案例网站中国代加工网
  • 成都兼职建设网站蜜雪加盟一般多少钱
  • 服务器网站别名设置网站打开文件按钮怎么做
  • 长春企业网站排名优化国外网站 备案吗
  • 韶关市开发区建设局网站网页设计优化网站建设可以吗
  • 邓州网站优化龙岩市住房与城乡建设部网站
  • 视频网站建设的背景简介58临沂网站建设
  • 电子商务网站的开发方式有哪三种php网站分类目录源码
  • 网站快照前显示中文怎么做的如何有效的进行网站策划
  • 如何建设简易网站网站开发语言开发
  • 把公司网站 公开下载 做教程 侵权吗wordpress页头图片
  • 行业网站制作什么软件可以制作图片加文字
  • 同心食品厂网站建设项目任务分解南通免费网站建设
  • 小程序开发网站设计制作wordpress微信qq登陆