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

网站建设实验结论企业营销策划有限公司

网站建设实验结论,企业营销策划有限公司,正规网站建设多少钱,互联网推广广告打印一个图片可以做出一个函数: def cv_show(img,name):cv2.imshow(name,img)cv2.waitKey()cv2.destroyAllWindows() 1、Canny边缘检测流程 Canny是一个科学家在1986年写了一篇论文,所以用自己的名字来命名这个检测算法,Canny边缘检测算法…

打印一个图片可以做出一个函数:

def cv_show(img,name):cv2.imshow(name,img)cv2.waitKey()cv2.destroyAllWindows()

1、Canny边缘检测流程

Canny是一个科学家在1986年写了一篇论文,所以用自己的名字来命名这个检测算法,Canny边缘检测算法这里写了5步流程,会用到之前《openCV实战-系列教程》的内容。 

  1. 使用高斯滤波器,以平滑图像,滤除噪声。
  2. 计算图像中每个像素点的梯度强度和方向。
  3. 应用非极大值(Non-Maximum Suppression)抑制,以消除边缘检测带来的杂散响应。
  4. 应用双阈值(Double-Threshold)检测来确定真实的和潜在的边缘。
  5. 通过抑制孤立的弱边缘最终完成边缘检测。

滤波:Canny检测算法使用的滤波器是高斯滤波器,通过滤波器可以对图像进行平滑处理。所以第一步需要过滤噪声,当进行检测的时候,肯定需要计算梯度,当遇到噪音点也会发生梯度的变化,所以为了更好的做到边缘检测,第一步需要去噪。

梯度:之前我们计算梯度的时候,只需要计算大小就行了,但是现在需要计算一下方向,所以梯度计算包括强度和方向。

非极大值抑制:计算的梯度大小有不同,比如在一个3*3的卷积核中,有些梯度比较小,相对大的就会保留下来,小的梯度就不会保留,只留下最明显的。 比如在人脸检测中,需要把人脸部分打出一个框的标识,计算的时候会计算出多个框,每个框都有一个概率值,最后只保留概率最大的那个框,而其他的框就会被抑制掉。

双阈值:计算边界的时候,会计算出多个候选值,在候选值中会再进行计算,只保留最接近真实的那个候选值边界。

完成边缘检测:将前面的结果都组合起来,完成边缘检测。

2、高斯滤波器

在前面的内容中已经讲解过,中间点比较大,越边缘的点越小,图中的H对高斯滤波器的滤波核进行归一化处理,然后再将滤波核H框住的区域A对应位置相乘再求和得到一个结果e。

3、梯度方向

Canny计算梯度使用的是Sobel算子(前面已经讲过这个内容), Sobel算子中需要分别计算水平和竖直两个方向的Gx和Gy(Gx和Gy的计算如上图),将这个结果融合到一起G计算方法如上图

梯度方向就是θ值,通过Gx和Gy计算得到,计算方法如上图。

4、非极大值抑制

4.1 方法A

如图所示,C点是目标像素点,需要判断C是不是一个极大值点,然后红色方框是它的周围的8个像素,蓝色线是C点的梯度方向,梯度方向和边界方向应该是垂直的关系。

如图所示,g1、g2、g3、g4、c都是一个像素点,而Q、Z是梯度方向与方框的交点,Q和Z不是一个像素是一个亚像素,使用线性插值法计算这个亚像素。 

首先g1、g2、g3、g4的梯度(梯度幅值,上一节讲到的梯度计算)都能够计算出来, Q就是g1和g2之间的,用M(dtmp1)表示Q点梯度(梯度幅值),它的计算方法在上图的公式已经给出,w和(1-w)都是代表的是一个权重,是Q点到g1、g2点的距离比上g1到g2的距离。得到权重乘上g1和g2的梯度就得到了Q点的梯度。

通过比较C、Q、Z的梯度值,如果C比Q、Z都要大,则说明C点是一个极大值,就可以将C点保留下来。

4.2 方法B

由于方法A太复杂了,将它简化成方法B,将一个像素周围的8个像素分解成8个方向。在方法1中如果过了g1和g4就不需要做插值了。方法B就是判断当前的方向和这8个方向那个最近就是哪个方向。然后这个方向上除了目标像素值之外还有两个点,如图所示假如分别是A、B、C,如果目标点A比B、C的梯度都要小那么A点就是极大值点。

5、双阈值检测 

 

maxVal即max value,意思是如果算出来的梯度值比maxVal(假如是100)大,那就是边界。

所以A点是边界,如果红色线下方还有一个D点,那么就舍弃这个点,这个点的梯度值比minVal小。

如果是在minval和maxval之间,就要分开讨论了,比如C点和边界点A连接在了一起,那么C点就可以判断为一个边界点,否则比如B点就不是了

6、边缘检测效果实现

这里的80和150就是minVal和maxVal

img=cv2.imread("lena.jpg",cv2.IMREAD_GRAYSCALE)v1=cv2.Canny(img,80,150)
v2=cv2.Canny(img,50,100)res = np.hstack((v1,v2))
cv_show(res,'res')

打印结果:

 所以minVal和maxVal的设定是比较重要的,第5节中如果对minval进行调整,那么提到的D点就有可能判定为边界点,因此会提取出更多的细节。

再导入一张图片,将两个参数设置的更大一些来对比:

img=cv2.imread("car.png",cv2.IMREAD_GRAYSCALE)v1=cv2.Canny(img,120,250)
v2=cv2.Canny(img,50,100)res = np.hstack((v1,v2))
cv_show(res,'res')

打印结果:

http://www.hkea.cn/news/352361/

相关文章:

  • 厦门 建网站商业软文案例
  • wordpress读者墙站长之家seo工具包
  • 网站建设哪家好灵活苏州久远网络北京搜索引擎关键词优化
  • 网站优化怎么做 有什么技巧东莞seo建站
  • 什么网站可以做游戏机疫情最新数据消息
  • 企业网站开发报价单巩义网络推广
  • 网站开发技术交流群免费域名申请网站
  • 手机网站一键分享怎么知道自己的域名
  • 做网站 做好把我踢开北京网站搭建哪家好
  • 网站如何做引流刷外链网站
  • wordpress 站点地址关注公众号一单一结兼职
  • 合肥网站建设第一品牌个人seo外包
  • 省心的免费建站服务热线四川seo关键词工具
  • 网站总是跳转dede58seo对网络推广的作用是
  • seo排名怎么提高seo排名优化软件有用
  • 江门论坛建站模板黑帽seo联系方式
  • 政府网站信息内容建设专项检查搜索引擎排名优化seo课后题
  • 个人做的好的淘宝客网站软文营销推广
  • 城乡建设委员会网站河北seo推广公司
  • 某网站栏目策划2022十大热点事件及评析
  • 德清网站建设中心优化大师官方免费下载
  • 生日网页制作免费网站制作代做网页设计平台
  • 学校类网站特点游戏优化大师官网
  • 手机电视网站大全河南网站建设定制
  • zblog做的商城网站上海有实力的seo推广咨询
  • 免费网站模板psd网络营销的整体概念
  • 网站模板下载破解版环球军事新闻最新消息
  • 徐汇苏州网站建设东莞免费建站公司
  • 厦门网站建设哪家强深圳网站维护
  • 政府网站新媒体平台建设关键词权重查询