9.5 检测棱角

2018-11-09  本文已影响0人  MaskStar
# -*- 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
上一篇 下一篇

猜你喜欢

热点阅读