Canny 边缘检测,在游览地球村的时候偶然发现的一个玩意,可以提取图片的边缘信息,突发奇想,能不能用它来P图!
先看效果:
![]() |
![]() |
---|---|
![]() |
![]() |
![]() |
![]() |
是不是超酷呢?
保存图片在手机上看,把屏幕亮度调高,效果更佳~
上代码ヾ(゚▽゚)ノ
import cv2
def edge_demo(image):
blurred = image
# blurred = cv2.GaussianBlur(image, (3, 3), 0) # 去除噪声,让图像变得更加平滑,也可以不使用
edge_output = cv2.Canny(blurred, 50, 150) # 边缘检测,50和150参数越大,提取的边缘越稀疏
cv2.imshow("Canny Edge", edge_output)
dst = cv2.bitwise_and(image, image, mask=edge_output)
cv2.imshow("Color Edge", dst)
src = cv2.imread('C:\\Users\\86188\\Desktop\\BG\\camp.png') # 图片存储的路径
cv2.namedWindow('input_image', cv2.WINDOW_NORMAL) # 设置为WINDOW_NORMAL可以任意缩放
cv2.imshow('input_image', src)
edge_demo(src)
cv2.waitKey(0)
cv2.destroyAllWindows()