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

国外做贸易网站外贸网站做啥

国外做贸易网站,外贸网站做啥,重庆网站开发公司,论文旅游网站建设边缘算子 图像梯度算子 - Sobel Sobel算子是一种用于边缘检测的图像梯度算子,它通过计算图像亮度的空间梯度来突出显示图像中的边缘。Sobel算子主要识别图像中亮度变化快的区域,这些区域通常对应于边缘。它是通过对图像进行水平和垂直方向的差分运算来…

边缘算子

图像梯度算子 - Sobel

Sobel算子是一种用于边缘检测的图像梯度算子,它通过计算图像亮度的空间梯度来突出显示图像中的边缘。Sobel算子主要识别图像中亮度变化快的区域,这些区域通常对应于边缘。它是通过对图像进行水平和垂直方向的差分运算来实现的,具体来说:

  • ddepth:输出图像的深度,通常设置为cv2.CV_64F来避免负数被截断。
  • dxdy 分别指定了水平和垂直方向的导数阶数,比如 dx=1, dy=0 就是对水平方向求一阶导数,用于检测垂直边缘;而 dx=0, dy=1 对应的是对垂直方向求一阶导数,用于检测水平边缘。
  • ksize 是Sobel算子的大小,它决定了滤波器的大小。ksize越大,滤波器覆盖的像素就越多,边缘检测就越模糊。常见的ksize值有1, 3, 5, 7。特别地,ksize=-1时会应用3x3的Scharr滤波器,它比3x3的Sobel滤波器有更好的结果。

在实践中,Sobel算子通过卷积框架应用于图像,分别计算x和y方向上的梯度,然后根据需要可能会结合这两个方向的梯度来得到边缘的完整表示。

dst = cv2.Sobel(src, ddepth, dx, dy, ksize)

  • ddepth:图像的深度
  • dx和dy分别表示水平和竖直方向
  • ksize是Sobel算子的大小
def cv_show(img,name):cv2.imshow(name,img)cv2.waitKey()cv2.destroyAllWindows()
img = cv2.imread('pie.png',cv2.IMREAD_GRAYSCALE)
cv2.imshow("img",img)
cv2.waitKey()
cv2.destroyAllWindows()
sobelx = cv2.Sobel(img,cv2.CV_64F,1,0,ksize=3)
cv_show(sobelx,'sobelx')

在这里插入图片描述

sobely = cv2.Sobel(img,cv2.CV_64F,0,1,ksize=3)
sobely = cv2.convertScaleAbs(sobely)  
cv_show(sobely,'sobely')

在这里插入图片描述

sobelxy=cv2.Sobel(img,cv2.CV_64F,1,1,ksize=3)
sobelxy = cv2.convertScaleAbs(sobelxy) 
cv_show(sobelxy,'sobelxy')

在这里插入图片描述

灰度化处理
img = cv2.imread('lena.jpg',cv2.IMREAD_GRAYSCALE)
cv_show(img,'img')

在这里插入图片描述
cv2.convertScaleAbs()函数主要作用是将梯度转换成可视化的形式。在进行Sobel边缘检测后,如果直接输出梯度结果,可能会因为数据类型的问题(比如负值)而不能正确显示。这个函数首先对输入的梯度值进行绝对值处理,然后将数据类型转换为无符号8位整型(uint8),这样就可以正常显示为图像了。这个步骤是图像处理中常用的一种方式,用来将处理后的数据转化为图像处理软件或显示设备可以接受的格式。

img = cv2.imread('lena.jpg',cv2.IMREAD_GRAYSCALE)sobelxy=cv2.Sobel(img,cv2.CV_64F,1,1,ksize=3)
sobelxy = cv2.convertScaleAbs(sobelxy) 
cv_show(sobelxy,'sobelxy')	

在这里插入图片描述

图像梯度-Scharr算子

在这里插入图片描述

不同算子的差异

分别为sobel 、 Scharr、laplacian

#不同算子的差异
img = cv2.imread('lena.jpg',cv2.IMREAD_GRAYSCALE)
sobelx = cv2.Sobel(img,cv2.CV_64F,1,0,ksize=3)
sobely = cv2.Sobel(img,cv2.CV_64F,0,1,ksize=3)
sobelx = cv2.convertScaleAbs(sobelx)   
sobely = cv2.convertScaleAbs(sobely)  
sobelxy =  cv2.addWeighted(sobelx,0.5,sobely,0.5,0)  scharrx = cv2.Scharr(img,cv2.CV_64F,1,0)
scharry = cv2.Scharr(img,cv2.CV_64F,0,1)
scharrx = cv2.convertScaleAbs(scharrx)   
scharry = cv2.convertScaleAbs(scharry)  
scharrxy =  cv2.addWeighted(scharrx,0.5,scharry,0.5,0) laplacian = cv2.Laplacian(img,cv2.CV_64F)
laplacian = cv2.convertScaleAbs(laplacian)   res = np.hstack((sobelxy,scharrxy,laplacian))
cv_show(res,'res')

在这里插入图片描述

Canny边缘检测

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

cv2.Canny() 函数实现的是Canny边缘检测算法,这是一种非常流行且有效的图像边缘检测方法。该函数需要两个阈值作为参数,用来控制边缘检测的灵敏度。较低的阈值可以捕获更多的边缘(但可能包括一些噪声),而较高的阈值只捕获最显著的边缘。这个算法的步骤包括使用高斯滤波器去除图像噪声、计算图像的梯度强度和方向、应用非极大值抑制(NMS)来消除边缘响应的假阳性以及应用双阈值检测和边缘连接。最终,它输出一个二值图像,显示了检测到的边缘。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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')

在这里插入图片描述

对车辆采用canny算子
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')

在这里插入图片描述

图像金字塔

在这里插入图片描述

高斯金字塔

高斯金字塔主要用于图像的多尺度表示。在计算机视觉和图像处理中,高斯金字塔通过逐步降低图像的分辨率并应用高斯滤波来生成图像的一系列缩小版本。这个过程包括两个基本操作:降采样和平滑。首先,原始图像被高斯滤波器平滑处理,然后每个方向上每隔一个像素进行采样,从而创建出更小尺寸的图像。

高斯金字塔的应用包括但不限于:

  1. 图像压缩:通过降低图像分辨率的方式减少存储空间需求。
  2. 图像融合:在进行图像拼接或HDR图像合成时,金字塔可以帮助在不同尺度上平滑地融合图像。
  3. 物体检测和识别:使用图像金字塔可以在不同的尺度上检测物体,提高检测的精度和鲁棒性。

通过这种方式,高斯金字塔能够在不同的分辨率层次上处理图像,适用于多种不同的图像处理任务。
在这里插入图片描述

img=cv2.imread("AM.png")
cv_show(img,'img')
print (img.shape)

在这里插入图片描述
上采样

up=cv2.pyrUp(img)
cv_show(up,'up')
print (up.shape)

在这里插入图片描述

下采样
down=cv2.pyrDown(img)
cv_show(down,'down')
print (down.shape)

在这里插入图片描述

继续上采样
up2=cv2.pyrUp(up)
cv_show(up2,'up2')
print (up2.shape)

在这里插入图片描述

原图与经过图像金字塔后处理的图

在这里插入图片描述

拉普拉斯金字塔

在这里插入图片描述

down=cv2.pyrDown(img)
down_up=cv2.pyrUp(down)
l_1=img-down_up
cv_show(l_1,'l_1')

在这里插入图片描述

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

相关文章:

  • wordpress门户网站模板下载北海 网站建设
  • 贵州省住房与城乡建设部网站江津网站建设方案
  • 网站背景音乐搭建网站服务器多少钱
  • 新手快速建设网站站长之家查询网站
  • 网站的后期运营及维护费用asp.net企业网站管理系统
  • wordpress自建模板厦门seo关键词排名
  • 哪些分类网站企业网站 模版
  • 马云做黄页网站时候网络舆情监测与研判
  • 东阳市建设局网站wordpress主题tiger
  • 浙江省水利建设行业协会网站html5网站源码下载
  • 福州建设工程协会网站查询设计上海展会2021门票
  • dedecms英文外贸网站企业模板泰安网络推广联系昔年下拉
  • 通州网站建设公司公司宣传册怎么制作
  • 网页制作与网站建设实战大全 豆瓣保定专门做网站
  • 网站域名根目录wordpress作品主题
  • 免费制作二级网站网站建设公司能力要求
  • 优质的网站建设案例企业vi品牌设计公司
  • 快手等视频网站做推广h5技术的网站
  • 全网营销网站建设新农村建设举报网站
  • 上海模板建站源码中国住房和城乡建设部建造师网站
  • 网站服务公司人工成本进什么费用成都微信微网站建设
  • 滁州建设管理网站wordpress在服务器上安装插件
  • 网站建设中一般要多久电商网站设计公司排行榜
  • 怎样做网站王野天津音乐广播
  • 芜湖哪家公司做网站不错建设了网站怎么管理
  • 沈阳营商环境建设局网站wordpress哪个php版本好
  • 建设部网站设计资质查询制作旅游网站的步骤
  • 站内推广和站外推广的区别了解网站建设的流程
  • 全运网站的建设flask做网站
  • 广州 餐饮 网站建设seo深圳优化