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

自己做的网站打开慢北京市地铁建设公司网站

自己做的网站打开慢,北京市地铁建设公司网站,手机wap购物网站模板,如何做网络销售基础入门 图像阈值处理是一种二值化技术,它基于预设的阈值,可以将图像中的像素分为两大类:一大类是背景,另一大类是前景或目标对象。这个过程涉及将图像中的每个像素值与阈值进行比较,并根据比较结果决定保留原始值还是…

基础入门

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

相关文章:

  • 网站平台建设制度家装公司网站开发方案
  • 网站降权怎么做联想网站建设摘要
  • php网站开发示例做电商在什么网站
  • 和嗲囡囡和做的网站沈阳网站设计营销型
  • 长网页网站专业展示设计网站
  • 早厦门构网站建设巨耀网站建设公司
  • 服装网站怎么做的深圳做宣传网站的公司
  • 石家庄网站建设网站建设网站开发运营公司绩效提成方案
  • 网站建设结构企业网站的网页设计
  • 抖音网站建设哪家好订阅号可以做网站么
  • 建设通网站有法律下载应用的app
  • 网站改版要重新备案想学习做网站
  • 网页制作软件coreldrawseo如何提升排名收录
  • 建筑兼职网站软件界面设计图
  • 化妆品网站模板免费下载优化搜索引擎
  • 中山网站建设联系电话东莞推广系统平台
  • 公司网站建站要多少钱一年网站app开发价格
  • 商城网站建设策划方案网站地图对seo
  • 网站设计四项原则高德地图有没有vr全景
  • 电影网站如何做seo优化wordpress 页面设置
  • 贵阳市住房建设局网站常见的erp系统大概要多少钱
  • 跨境电商工具类产品的网站新建网站的缺点
  • 网站建设微信版wordpress 标签详解
  • 网站推广计划书具体包含哪些基本内容?中装建设002822股吧
  • 白银市建设网站php网站开发薪资 深圳
  • 成都环境设计公司张家界seo优化首选
  • 网站正在建设中 敬请期待餐饮营销案例100例
  • 免费制作logo的网站wordpress js调用
  • 公司做网站需要提供什么条件泰安卫生人才网
  • 网站建设设计有限公司创新创意产品设计作品