python opencv 图像膨胀

代码:

import cv2
import numpy as np
# 图像膨胀
def dilate_img(img,a,iterations):
    kernel = np.ones((a,a),np.uint8)
    dilate = cv2.dilate(img,kernel,iterations = iterations)
    return dilate
# 回调函数,因为只能传一个参数,不方便,所以pass
def nothing(pos):
    pass
# 图片路径
path = "2.jpg"
#读取图片
img = cv2.imread(path,1)
# 创建老窗口
cv2.namedWindow('OldImg')
# 绑定老窗口和滑动条(滑动条的数值)
cv2.createTrackbar('a', 'OldImg', 1, 30, nothing)
cv2.createTrackbar('iterations', 'OldImg', 1, 100, nothing)
while True:
    # 提取滑动条的数值
    a = cv2.getTrackbarPos('a', 'OldImg')
    iterations = cv2.getTrackbarPos('iterations', 'OldImg')
    # 滑动条数字传入函数img_dilated中,并且调用函数img_dilated
    dilated = dilate_img(img,a,iterations)
    # 绑定 img 和 dilated
    result = np.hstack([img,dilated])
    cv2.imshow('OldImg', result)
    # 设置推出键
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
# 关闭窗口
cv2.destroyAllWindows()

效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LyikpxjR-1570701853489)(C:\Users\xiahuadong\Pictures\博客\39.png)]

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐