[OpenCV练习题实现] 1.编写一个小应用程序以找到Canny边缘检测,该检测的阈值可以使用两个跟踪栏进行更改。这样,你可以了解阈值的影响

1.背景

阅读官方文档/手册,学习openCV的过程中遇到的练习题,记录一下。

1.编写一个小应用程序以找到Canny边缘检测,该检测的阈值可以使用两个跟踪栏进行更改。这样,你可以了解阈值的影响

2. 代码部分

不是很会用matplotlib来绘图,所以用利用OpenCV的窗口来完成了这个任务。
如果您有更好的办法,欢迎交流指正~

import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt

T = [100, 200]

img = cv.imread('messi5.jpg', 0)
plt.subplot(211), plt.imshow(img, cmap='gray')
plt.title('Original Image')
plt.yticks([]), plt.xticks([]), plt.yticks([])


def my_draw():
    edges = cv.Canny(img, T[0], T[1])
    plt.subplot(212), plt.imshow(edges, cmap='gray')
    plt.title('Edge Image'), plt.xticks([]), plt.yticks([])
    plt.show()


def p_t1(x):
    T[0] = x
    my_draw()


def p_t2(x):
    T[1] = x
    my_draw()


my_draw()

cv.namedWindow('console', cv.WINDOW_NORMAL)
cv.createTrackbar('threshold1', 'console', 0, 255, p_t1)
cv.createTrackbar('threshold2', 'console', 0, 255, p_t2)
in_key = cv.waitKey(1)

3. 演示效果

在这里插入图片描述
在这里插入图片描述
可以看到,阈值越高越严格。
在上阈值不变的情况下,下阈值越低,越容易判定成边界。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值