多语言展示
当前在线:1691今日阅读:155今日分享:35

如何使用cv2检测图像的棱角

棱角检测是计算机视觉中的一个重要环节,它帮助我们识别图像中突出的点。这是用于开发图像分析系统中最早期的特征提取技术之一。
工具/原料

python

方法/步骤
1

1、创建一个Python文件,并导入以下库文件:     import cv2     import numpy as np

2

2、加载输入图像     input_file = sys.argv[1]     img = cv2.imread(input_file)  # 此处亦可以 input_file = 'box.jpg'     cv2.imshow('Input image', img)

3

3、将图像转为灰度,并将其强制转换为浮点值。浮点值将用于棱角检测过程     img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)     img_gray = np.float32(img_gray)

4

4、对灰度图像进行哈里斯角检测器(Harris corner detector)     通过http://docs.opencv.org/3.0-beta/doc/py_tutorials/     py_features_harris/py_features_harris.html查看更多哈里斯检测器的详细      介绍。          img_harris = cv2.cornerHarris(img_gray,7,5,0.04)

5

5、为了标记棱角,需要放大图像     img_harris = cv2.dilate(img_harris,None)     img[img_harris>0.01*img_harris.max()] =[0,0,0] # 设置阈值标记棱角

6

6、显示输出图像     cv2.imshow('Harris Corners',img)     cv2.waitKey()

推荐信息