Python在JPEG-imag上检索黑色矩形左上角的(x,y)坐标

2024-05-19 02:27:47 发布

您现在位置:Python中文网/ 问答频道 /正文

背景:我正在尝试创建一个自动标记答卷的软件。答题纸的格式是固定的,如下所示:

enter image description here

问题:为了检测用户穿过的方框(A、B、C?),我需要裁剪或做一个基于4个黑色矩形的透视变换。如何检索上面图片上四个黑色矩形的坐标,最好是使用OpenCV?在

附加信息:一旦我可以弹出如下答案框的药水: enter image description here

因为我知道每个方框的确切尺寸,所以我可以比较每个方框(A、B、C)中的黑色像素计数,以检查用户跨越了哪个方框(假设用户没有跨越多个方框)

欢迎提出建设性意见。在


Tags: 答案用户标记信息软件尺寸格式图片
1条回答
网友
1楼 · 发布于 2024-05-19 02:27:47

从外观上看,你的黑色方块似乎是页面上唯一真正黑色的东西,其余的看起来都比较浅。此外,你“有点”知道他们在哪里,或者至少知道他们在什么一般领域:他们有自己的专栏,上面或下面没有其他东西。因此,假设您的图像是“8位灰度”,以下是我在没有任何形状识别模块的情况下如何处理它:

  • 过滤图像中某个值下的所有像素(5?10个?50?)看看这是否足够过滤掉除了方块以外的所有东西。

  • 将图像转换为黑白模式(不,将其转换为黑白模式)

  • 然后我会从左到右扫描图像的各个列。对于每一列,求所述列中所有像素的总和。只要结果是零,你还没到。当总和开始为非空时,你就找到了一个平方。非零值列中的索引对应于其中一个正方形角点(您甚至可以知道哪个正方形在列的上部或下部)。如果你继续扫描,总数会增加。通过观察和,你应该能够推断出每个正方形角点的位置,也就是说:和变量中的每一个变化都是一个新的角点。一个大的步骤:所有的方块都完全对齐。4小步:对角线上的正方形。从几何角度看,除非纸张被撕破或折叠,否则正方形的左角将立即或按顺序(从上到下或从下到上)显示出来。从右向左重复。

对和的分析是最棘手的部分,但是快速浏览2到3个例子,你会得到一个粗略的估计,你可以用在其他的例子上,例如:600到800之间的总和-,这一列中只有一个平方,1200和1600->两个平方的总和,等等。当然,模式识别肯定有更实际的解决方案,但那是作弊。在

相关问题 更多 >

    热门问题