# -*- 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
网友评论