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

discuz 科技网站模板下载网络市场调研的方法

discuz 科技网站模板下载,网络市场调研的方法,杭州网站建设哪家设计好,vr 做的网站图像边缘检测 本实验要用到Canny算法,Canny边缘检测方法常被誉为边缘检测的最优方法。 首先,Canny算法的输入端应为图像的二值化结果,接收到二值化图像后,需要按照如下步骤进行: 高斯滤波。计算图像的梯度和方向。非极…

图像边缘检测

本实验要用到Canny算法,Canny边缘检测方法常被誉为边缘检测的最优方法。
首先,Canny算法的输入端应为图像的二值化结果,接收到二值化图像后,需要按照如下步骤进行:
  1. 高斯滤波。
  2. 计算图像的梯度和方向。
  3. 非极大值抑制。
  4. 双阈值筛选。

1. 高斯滤波

边缘检测本身属于锐化操作,对噪点比较敏感,所以需要进行平滑处理。这里使用的是一个5*5的高斯核对图像进行消除噪声。上一个实验中已经介绍了高斯滤波的具体过程,这里就不再过多叙述,只展示一下用到的5*5的高斯核:

2. 计算图像的梯度与方向

这里使用了sobel算子来计算图像的梯度值,sobel算子其实就是一个核值固定的卷积核,如下所示:
这个角度值其实是当前边缘的梯度的方向,与边缘的方向刚好垂直。通过这个公式我们就可以计算出图片中所有的像素点的梯度值与梯度方向,然后根据梯度方向获取边缘的方向。得到θ的值之后,就可以对边缘方向进行分类,一般将其归为四个方向:水平方向、垂直方向、45°方向、135°方向。并且:
当θ值为-22.5°~22.5°,或-157.5°~157.5°,则认为边缘为水平边缘;
当法线方向为22.5°~67.5°,或-112.5°~-157.5°,则认为边缘为45°边缘;
当法线方向为67.5°~112.5°,或-67.5°~-112.5°,则认为边缘为垂直边缘;
当法线方向为112.5°~157.5°,或-22.5°~-67.5°,则认为边缘为135°边缘;

3. 非极大值抑制

得到每个边缘的方向之后,其实把它们连起来边缘检测就算完了,但是为什么还有这一步与下一步呢?是因为经过第二步得到的边缘不经过处理是没办法使用的,因为高斯滤波的原因,边缘会变得模糊,导致经过第二步后得到的边缘像素点非常多,因此我们需要对其进行一些过滤操作,而非极大值抑制就是一个很好的方法,它会对得到的边缘像素进行一个排除,使边缘尽可能细一点。
在该步骤中,我们需要检查每个像素点的梯度方向上的相邻像素,并保留梯度值最大的像素,将其他像素抑制为零。假设当前像素点为(x,y),其梯度方向是0°,梯度值为G(x,y),那么我们就需要比较G(x,y)与两个相邻像素的梯度值:G(x-1,y)和G(x+1,y)。如果G(x,y)是三个值里面最大的,就保留该像素值,否则将其抑制为零。
并且如果梯度方向不是0°、45°、90°、135°这种特定角度,那么就要用到插值算法来计算当前像素点在其方向上进行插值的结果了,然后进行比较并判断是否保留该像素点。这里使用的是 单线性插值,通过A1和A2两个像素点获得dTmp1与dTmp2处的插值,然后与中心点C进行比较。

4. 双阈值筛选

经过非极大值抑制之后,我们还需要设置阈值来进行筛选,当阈值设的太低,就会出现假边缘,而阈值设的太高,一些较弱的边缘就会被丢掉,因此使用了双阈值来进行筛选,推荐高低阈值的比例为2:1到3:1之间,其原理如下图所示:
当某一像素位置的幅值超过最高阈值时,该像素必是边缘像素;当幅值低于最低像素时,该像素必不是边缘像素;幅值处于最高像素与最低像素之间时,如果它能连接到一个高于阈值的边缘时,则被认为是边缘像素,否则就不会被认为是边缘。也就是说,上图中的A和C是边缘,B不是边缘。因为C虽然不超过最高阈值,但其与A相连,所以C就是边缘。
至此,Canny边缘检测就完成了。在本实验中的双阈值筛选组件中,可以自定义高低阈值的大小,如下图所示:
cv2.Canny(image, threshold1, threshold2, edges, apertureSize, L2gradient)
功能:用于边缘检测的函数
参数:
‌image‌: 输入图像,它 应该是一个灰度图像(单通道)。
‌threshold1‌: 第一个阈值,用于边缘检测的滞后过程。这个值较低,用于确定边缘的初始点。
‌threshold2‌: 第二个阈值,用于边缘检测的滞后过程。这个值较高,用于确定边缘的最终点。如果某个像素点的梯度值高于这个阈值,它被认为是边缘;如果低于这个值但高于threshold1,并且与高于threshold2的像素点相连,它也被认为是边缘。
‌edges‌: 输出图像,与输入图像大小相同,但通常是二值图像(即只包含边缘和非边缘的像素)。
‌apertureSize‌(可选,默认为3): Sobel算子的大小,它决定了梯度计算的邻域大小。它必须是1、3、5或7之一。
‌L2gradient‌(可选,默认为False): 一个布尔值,指示是否使用更精确的L2范数进行梯度计算。如果为True,则使用L2范数(即欧几里得距离);如果为False,则使用L1范数(即曼哈顿距离)。L2范数通常更精确,但计算成本也更高。
import cv2
import numpy as npimg = cv2.imread('../1iamge/color_1.png')
img = cv2.resize(img,(825,632))img_hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
yellow_min = np.array([20,43,46])
yellow_max = np.array([34,255,255])img_mask = cv2.inRange(img_hsv,yellow_min,yellow_max)
img_mask_color = cv2.bitwise_and(img,img,mask=img_mask)img_blur = cv2.medianBlur(img_mask,3)
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5))
img_erode = cv2.erode(img_blur,kernel)
img_dilate = cv2.dilate(img_erode,kernel)
contours,_ = cv2.findContours(img_dilate,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)img_copy = img.copy()
cv2.drawContours(img_copy,contours,-1,(0,0,255),2)cv2.imshow('img',img)
cv2.imshow("img_copy",img_copy)
cv2.waitKey(0)

原图: 

效果:

http://www.tj-hxxt.cn/news/62297.html

相关文章:

  • 搭建网站的企业网络营销的概念和特点
  • 做一个公司网站市场推广和销售的区别
  • 那个网站做的好关键词排名优化公司哪家好
  • 找家里做的工作上哪个网站简易的旅游网页制作
  • 新闻类网站开发难点关键词调词平台费用
  • 做网站的基础架构下载百度app最新版并安装
  • 备案 通过后 网站打不开西安seo网站建设
  • 国家税务总局官网查询搜索关键词优化
  • 建材行业网站建设方案安新seo优化排名网站
  • 物流查询网站开发商品推广软文800字
  • 中文域名的价值网络营销优化
  • 知名seo网站优化营销推广方式都有哪些
  • 建设网站需要服务器思亿欧seo靠谱吗
  • 成都网站建设116web天津seo技术教程
  • 想自己做淘宝有什么网站网络软文
  • 网站优化怎么做 有什么技巧关键词挖掘查询工具
  • 网站内容页设计专业软文发布平台
  • 学习软件的网站百度关键词seo年度费用
  • 网站建设计划书图片外链生成器
  • 哪个网站做代购seo中文意思
  • 广州微网站建设网络服务器的功能
  • 中国互联网协会会员重庆seo教程
  • 静安区网站开发营销网站建设教学
  • 网站开发路径百度seo关键词排名优化软件
  • 海口仿站定制模板建站seo海外
  • 深圳创业项目网络seo是什么
  • 手机网站管理工具推广策划方案模板
  • 开源网站模板网络营销pdf
  • 网站的相关搜索css代码怎么做百度手机浏览器
  • asp源码网站免费网站在线客服软件