将检测到的边缘从图像中提取到单独的图像中



我想裁剪检测到的拐角周围的某个区域(例如,用Harris Detector检测到的(,并将该区域保存为单独的图像。有人知道如何解决这个问题吗?

我的想法是从这条基本路线开始:

import cv2
import numpy as np
filename = 'pic1.jpg'
img = cv2.imread(filename)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gray = np.float32(gray)
dst = cv2.cornerHarris(gray,2,3,0.04)
#result is dilated for marking the corners, not important
dst = cv2.dilate(dst,None)
# Threshold for an optimal value, it may vary depending on the image.
img[dst>0.01*dst.max()]=[0,0,255]
cv2.imwrite('pic2.jpg',img)
if cv2.waitKey(0) & 0xff == 27: cv2.destroyAllWindows()

在边缘图像中查找轮廓并获得该轮廓的边界矩形。使用此边界矩形细节,裁剪图像。您将获得所需的输出。

最新更新