我正在寻找一种使用Python中的OpenCV准确检测扭曲矩形角落的方法。
通过谷歌搜索不同建议的解决方案,我尝试了正弦波叠加直线的方法(请参见阈值图像),但可能无法检测到角落。到目前为止,我已经尝试了findContours和HoughLines,但效果不佳。不幸的是,我不理解Xu Bin在how to find blur corner position with opencv?中的C代码。
这是我的初始图像:
非常感谢您的帮助。
通过谷歌搜索不同建议的解决方案,我尝试了正弦波叠加直线的方法(请参见阈值图像),但可能无法检测到角落。到目前为止,我已经尝试了findContours和HoughLines,但效果不佳。不幸的是,我不理解Xu Bin在how to find blur corner position with opencv?中的C代码。
这是我的初始图像:
调整大小和阈值后,我应用canny边缘检测来获得以下图像:
contours, hierarchy = cv2.findContours(g_mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
box = cv2.minAreaRect(contour)
box = cv2.cv.BoxPoints(box) if imutils.is_cv2() else cv2.boxPoints(box)
box = np.array(box, dtype="float")
box = perspective.order_points(box)
我只能得到以下结果,带有一些额外的绘画:
非常感谢您的帮助。