![]() |
1
2
这里有一个方法来继续。。。 转换为HSV,然后从每个角开始,向图片的中间方向前进,寻找距离每个角最近的像素,该像素有些饱和,色调与周围的蓝色矩形相匹配。这将给你4个红色标记:
现在使用透视变换将每个点移动到角点,使图像直线化。我使用了ImageMagick,但是您应该可以看到,我将坐标(210,51)处的左上角红点转换为新图像左上角的(0,0)。同样地,右上角的红点(1754,19)被移到(2064,0)。终端中的ImageMagick命令是:
下一个问题是光线不均匀-也就是说左下角比图像的其余部分暗。为了抵消这一点,我克隆图像并对其进行模糊处理以去除高频(只是框模糊,或者框平均值很好),因此它现在代表缓慢变化的照明。然后我从中减去图像,这样我就能有效地去除背景变化,只留下高频的东西——比如你的信。然后我将结果标准化,使白色和黑色分别为白色和黑色,阈值为50%。
|
![]() |
2
1
以下是我识别字符的步骤:
Choosing the correct upper and lower HSV boundaries for color detection with`cv::inRange` (OpenCV)
|
![]() |
3
1
pyvips . 如果图像只是旋转的(即很少或没有透视),你可以用FFT来找到旋转角度。漂亮、规则的字符网格将在变换上生成一组清晰的线条。它应该非常坚固。这是在整个图像上执行FFT,但是如果您想要更高的速度,可以先将其缩小一点。
制作:
投影为:
然后寻找峰值并旋转:
使:
使:
|
![]() |
July · 如何定义数字间隔,然后四舍五入 1 年前 |
![]() |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
|
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
![]() |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
|
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
![]() |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |