自学内容网 自学内容网

Canny边缘检测、金字塔检测、轮廓检测

 一、Canny边缘检测:

import cv2
import numpy as np

# 定义图像显示函数
def cv_show(name, img):
    cv2.imshow(name, img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

# 阈值指定的越大,检测的图像的包括的内容越少,阈值越小,检测到的细节信息越多
img = cv2.imread('images\lena_color_256.tif',cv2.IMREAD_GRAYSCALE)
v1 = cv2.Canny(img,80, 150)
v2 = cv2.Canny(img,50, 100)
res = np.hstack((v1, v2))
cv_show('threshold', res)

二、图像金字塔

高斯金字塔 :向下采样(缩小)
原理:将Ci与高斯内核卷积
将所有的偶数行和列去掉
高斯金字塔 :向上采样(放大)
原理: 将图像在每个方向上扩大为原来的两倍,新增的行与列用0填充
使用先前同样的内核(乘以4)与放大后的图像卷积获得近似值
img_oringe = cv2.imread('images/cameraman.tif')
cv_show('oringe', img_oringe)

up_image = cv2.pyrUp(img_oringe)
down_image = cv2.pyrDown(img_oringe)
# 不能使用np来展示图像
# res = np.hstack((up_image, down_image))
# cv_show('res', res)
cv_show("up", up_image)
cv_show("down", down_image)


# 拉普拉斯金字塔
# l = Gi - pyrUp(PyrDown(Gi))
down = cv2o.pyrDown(img_oringe)
down_up = cv2.pyrUp(down)
l_l = down_up
cv_show('lapulase',l_l)

三、轮廓检测法

da8d94f074ff40a39bf9ce85fbf53da3.jpeg

 

 


原文地址:https://blog.csdn.net/qq_58739767/article/details/142643711

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!