【opencv】边缘提取或通过二值图片提取对应的三维图像(python)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/a19990412/article/details/86602457

简述

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

  • 二值图(经过膨化处理)
    在这里插入图片描述

  • 提取出来的图片
    在这里插入图片描述

代码实现

import cv2

img = cv2.imread('corgi.jpg')
data = (150, 150)
imgCanny = cv2.Canny(img, *data)
# 创建矩形结构
g = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 7))
# 膨化处理
img_dilate = cv2.dilate(imgCanny, g)
shape = img_dilate.shape
# 提取
for i in range(shape[0]):
    for j in range(shape[1]):
        if img_dilate[i, j] == 0:  # 二维定位到三维
            img[i, j] = [0, 0, 0]

cv2.imshow('title', img)
cv2.waitKey()
cv2.destroyAllWindows()

展开阅读全文

没有更多推荐了,返回首页