10. 形态学--二值化和边缘检测Canny

1. 全局二值化

参考资料2
cv2.threshold(src, thresh, maxval, type[, dst]),返回值为retval, dst

  • src 是灰度图
  • thresh 阈值
  • maxval 最大值,最大值不一定是255
  • type 操作类型,常见操作类型如下
    返回值说明:
  • retval 是阈值
  • dst 是二值化后的图像
    image

2. 自适应阈值二值化

image
image

  • 这自适应,每个区域都会产生自己的阈值,因此这个方法,不会返回阈值,只会返回处理后的图片
  • blockSize 窗体大小,为数字,非元组

3. 边缘检测Canny

边缘检测里面最好的
image
image
image
image

img = cv2.imread('./lena.png')
# 阈值给的稍大一些,绘制的边缘不够精细
lena1 = cv2.Canny(img, 100, 200)
cv2.imshow('lena', lena1)
cv2.waitKey(0)
cv2.destroyAllWindows()

参考

[1] CV2简单阈值函数:cv2.threshold() https://blog.csdn.net/weixin_42272768/article/details/110746790

posted @ 2022-06-26 20:36  理舞  阅读(261)  评论(0编辑  收藏  举报