单击照片时检测纸上的多个黑点及其相对距离

Detect multiple black dots on paper and their relative distance while clicking photo

我希望多个用户对一张纸的照片进行拍照,该纸的四个边缘有四个点。当用户拍照时,为了确保纸张平整且没有皱折,我希望叠加的框架变为绿色,如果相机可以检测到已知相对距离的四个点,从而表示照片的纸张位置正确。

我对图像处理零知识。考虑到 iOS 和 Android.

的相机应用,让我知道是否有可能

首先你没有把问题说清楚,我还是尽量给你答案,你可以用你喜欢的语言,我假设框架里只有纸,背景应该要统一。

1) 设置图像阈值以仅检测纸张。

2) 一旦你有了纸的二值图像,你就可以提取它的轮廓信息。 (在opencv中使用contours = cv2.findContours(thresholdimage, cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE))

3) 获取轮廓的角点。 (在 opencv 中,您可以使用 cv2.approxPolyDP 并获取点列表)。

从这里你有多种选择,如果你想检查纸张对齐是否正确,使用点的位置。或者你可以找到它们之间的距离。

要检查矩形的对齐方式,您可以找到理想情况下应该垂直的点之间的 arctan,您可以将其用作度量。

谢谢。