9.5 检测棱角

# -*- coding:utf8 -*-
import cv2
import numpy as np

#加载图像
input_file = 'image/table.jpg'
img = cv2.imread(input_file)

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

# 显示图像
cv2.imshow('img',img)
cv2.imshow('img_gray',img_gray)
img_gray = np.float32(img_gray)

#对灰度图像进行哈里斯角检测器(Harris corner detector)
img_harris = cv2.cornerHarris(img_gray,7,5,0.04)

#放大图像以标记棱角
img_harris = cv2.dilate(img_harris,None)

#定义显示重要点个数的阈值
img[img_harris > 0.01 * img_harris.max()] = [0,0,0]

cv2.imshow('img_harris',img)
cv2.waitKey()

原图

原图

灰度图

灰度图

Harris Corner dector

Harris Corner dector
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容