Canny 边缘检测,在游览地球村的时候偶然发现的一个玩意,可以提取图片的边缘信息,突发奇想,能不能用它来P图!
    先看效果:

    fifi.png fifi_edge.png
    singal.png image.png
    camp.png image.png

    是不是超酷呢?
    保存图片在手机上看,把屏幕亮度调高,效果更佳~
    上代码ヾ(゚▽゚)ノ

    1. import cv2
    2. def edge_demo(image):
    3. blurred = image
    4. # blurred = cv2.GaussianBlur(image, (3, 3), 0) # 去除噪声,让图像变得更加平滑,也可以不使用
    5. edge_output = cv2.Canny(blurred, 50, 150) # 边缘检测,50和150参数越大,提取的边缘越稀疏
    6. cv2.imshow("Canny Edge", edge_output)
    7. dst = cv2.bitwise_and(image, image, mask=edge_output)
    8. cv2.imshow("Color Edge", dst)
    9. src = cv2.imread('C:\\Users\\86188\\Desktop\\BG\\camp.png') # 图片存储的路径
    10. cv2.namedWindow('input_image', cv2.WINDOW_NORMAL) # 设置为WINDOW_NORMAL可以任意缩放
    11. cv2.imshow('input_image', src)
    12. edge_demo(src)
    13. cv2.waitKey(0)
    14. cv2.destroyAllWindows()