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)
三、轮廓检测法
原文地址:https://blog.csdn.net/qq_58739767/article/details/142643711
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!