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

温州市城市建设档案馆网站不用下载的行情网站

温州市城市建设档案馆网站,不用下载的行情网站,上海新建公司,中国建设招标网是私人网站吗前言#xff1a; #x1f60a;#x1f60a;#x1f60a;欢迎来到本博客#x1f60a;#x1f60a;#x1f60a; #x1f31f;#x1f31f;#x1f31f; 本专栏主要结合OpenCV和C来实现一些基本的图像处理算法并详细解释各参数含义#xff0c;适用于平时学习、工作快… 前言 欢迎来到本博客 本专栏主要结合OpenCV和C来实现一些基本的图像处理算法并详细解释各参数含义适用于平时学习、工作快速查询等随时更新。 具体食用方式可以点击本专栏【OpenCV快速查找(更新中)】–搜索你要查询的算子名称或相关知识点或者通过这篇博客通俗易懂OpenCV(C版)详细教程——OpenCV函数快速查找(不断更新中)]查阅你想知道的知识即可食用。 支持如果觉得博主的文章还不错或者您用得到的话可以悄悄关注一下博主哈如果三连收藏支持就更好啦这就是给予我最大的支持 文章目录学习目标一、概念及原理1.1 相关概念及原理1.2 实现步骤1.3 应用场景二、 代码实现三、 总结学习目标 熟悉全局直方图均衡化概念及原理 C实现全局直方图均衡化案例 上一节伽马变换在提升对比度上有比较好的效果但是需要手动调节γ值这节将介绍更为方便的方法自动调节图像对比度——全局直方图均衡化。 一、概念及原理 1.1 相关概念及原理 假设输入图像为I高为H、宽为WhistI 代表I的灰度直方图histI (k)代表灰度值为k(0≤k≤255)的像素个数。全局直方图均衡化操作是对图像I进行改变使得输出图像O的灰度直方图histO是“平”的即每一个灰度级的像素点个数是“相等”的。   注意其实这里的“相等”不是严格意义上的等于而是约等于比如高为100、宽为255的图像矩阵不可能出现每一个灰度级的像素点个数是严格相等的即: 对于任意的灰度级p0≤p≤255总能找到q0≤q≤255使得 也称为I和O的累加直方图。因为 所以 即 上面给出了一个从亮度级为p的输入像素到亮度级为q的输出像素的映射那么令 其中I(r,c)是I的第r行第c列的灰度值O(r,c)是对应位置输出的灰度值其中0≤r≤H0≤c≤W这样就计算出了输出图像O的每一个位置的灰度值。 1.2 实现步骤 首先直观感受直方图均衡化效果。左边是原始的直方图右边是均衡化以后的结果。 对于直方图均衡化的实现主要分四个步骤 第一步计算图像的灰度直方图并归一化。 第二步计算灰度直方图的累加直方图。 第三步根据累加直方图和直方图均衡化原理得到输入灰度级和输出灰度级之间的映射关系。 第四步根据第三步得到的灰度级映射关系循环得到输出图像的每一个像素的灰度级。 1.3 应用场景 直方图均衡化的应用常见很广泛医疗图像、人脸识别、车牌识别等等。直方图均衡化以后色彩更丰富。看起来能够描述出更多的信息。否则图像过亮或者过暗或者色彩集中在某个区域不好区分细节。   比如一些CT的图像过暗。车牌识别也是在光线不好的地方车牌特别暗。闪光灯抓拍的又太亮了。人脸识别也一样。 二、 代码实现 OpencvCV提供了实现的直方图均衡化函数equalizeHist()具体如下 void equalizeHist(InputArray src, OutputArray dst)src为要均衡的输入图像必须是8bit单通道图像即灰度图   dst是原图像大小相等经过直方图均衡处理后的输出图像参数dst可以不传入。 除了理解简单的函数equalizeHist()函数原理我们应该也要简单熟悉一下: #include iostream #include opencv2/opencv.hpp # include opencv2/core/core.hpp #includeopencv2/highgui/highgui.hpp using namespace std; using namespace cv ;Mat equalHist (Mat image){CV_ Assert (image.type() CV_8UC1) ;//获取图像宽高int rows image.rows;int cols image.cols;//第一步:计算图像灰度直方图Mat grayHist calcGrayHist(image);//第二步:计算累加灰度直方图Mat zeroCumuMoment Mat::zeros(Size(256, 1),CV_ 32SC1);for(intp0;p256;p){if (p0){zeroCumuMoment.atint(0, p) grayHist.atint(0, 0);}elsezeroCumuMoment.atint(0, p) zeroCumuMoment.atint(0, p-1) grayHist.atint(0, p);}//第三步:根据累加直方图和直方图均衡化原理得到输入灰度级和输出灰度级之间的映射关系Mat outPut_ q Mat::zeros (Size(256, 1),CV_8UC1);float cofficient 256 / (rows*cols) ;for (int p 0; p 256;p){float q cofficient*zeroCumuMoment.atint(0, p) - 1;if(q0){outPut_ q.atuchar(0, p) uchar(floor(q));}elseoutPut_ q.atuchar(0, p) 0;}//第四步:得到直方图均衡化后的图像Mat equalHist Image Mat::zeros (image.size()CV_8UC1);for(intr0;rrows;r){for(intC0;Ccols;c){int p image.atuchar(r, c) ;equalHistImage.atuchar(r, c) outPut_ q. atuchar(0, p);}}return equalHistImage;} 我们可以看下直方图均衡化的效果 #include iostream #include opencv2/opencv.hpp # include opencv2/core/core.hpp #includeopencv2/highgui/highgui.hpp using namespace std; using namespace cv ;int main() {Mat src imread(D:/VSCodeFile/0penCV_CSDN/image/logo.jpeg);//Mat src;if (src.empty() {cout“the image is empty! 《 endl;imshow(image,src);Mat gray;cvtColor (src, gray, COLOR_BGR2GRAY);imshow(灰度图,gray);Mat dst;equalizeHist (gray, dst) ;imshow(直方图均衡化演示dst) ;waitKey (0) ;return 0; }三、 总结 最后长话短说大家看完就好好动手实践一下切记不能三分钟热度、三天打鱼两天晒网。OpenCV是学习图像处理理论知识比较好的一个途径大家也可以自己尝试写写博客来记录大家平时学习的进度可以和网上众多学者一起交流、探讨有什么问题希望大家可以积极评论交流我也会及时更新来督促自己学习进度。希望大家觉得不错的可以点赞、关注、收藏。 今天的文章就到这里啦~ 喜欢的话点赞、收藏⭐️、关注哦 ~
http://www.w-s-a.com/news/72857/

相关文章:

  • 专业的论坛网站建设全网加速器
  • 成都品牌建设网站公司表单制作小程序
  • 手机端 网站 模板网页广告关不掉怎么办
  • 软装公司网站建设有没有做任务的网站
  • 加盟招商网站建设工业设计网站 知乎
  • 怎么做淘宝客网站优化免费windows7云主机
  • 有什么网站可以推广信息沈阳网站建设思路
  • 网站建设可研域名解析在线工具
  • 鲜花销售网站模板wordpress+模版+推荐
  • 企业网站报价网站域名 没有续费
  • 机关门户网站建设管理情况邮箱登陆嵌入网站
  • 创建网站超市网站建设后还有什么费用
  • 徐州泉山区建设局网站企业网站注册官网
  • 西青网站建设暴雪回归
  • 如何生成网站建设局建筑电工证查询网站
  • 网站改版建设原则网站网站建设公司上海
  • 网站推广见效快的方法深圳高端网站建设网页设计
  • 建设银行官网首页网站购纪念币接做网站需要问什么条件
  • 网站的ftp地址是什么江苏做网站
  • 宁波网站建设制作公司哪家好潍坊建公司网站
  • 云端网站建设php7 wordpress速度
  • 建站的公司中小企业网站建设报告
  • 上海高档网站建设网站设计入门
  • 德尔普网站建设做网站线
  • 宁波网站搭建定制非模板网站建设电子商务公司名称大全简单大气
  • 巴中哪里做网站推销网站的方法
  • wordpress建站动画网站宣传的手段有哪些?(写出五种以上)
  • 做么网站有黄医疗机构网站备案
  • 企业年金是1比3还是1比4北京厦门网站优化
  • 政务信息网站建设工作方案云南建设工程质量监督网站