- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我有以下 4 张图像:
如何确定两个“6”相同,但 5 和 6、6 和 9、9 和 5 等不同?
图像始终是单色的(即只有黑白,没有其他颜色)
目前,我只是计算图像中黑色像素的数量,这似乎工作正常,但我不确定它是否可靠或是否有更好的方法。在上面的示例中,“6”都有 29 个黑色像素,而“5”有 26 个黑色像素,“9”有 28 个黑色像素。因此 6 和 9 之间的差异只有 1 个像素。但是在其他字体中,9 和 6 具有相同数量的像素。例如:
两者都有相同数量的前景像素。
最佳答案
您是否正在尝试检测完全相同的内容,或检测近似相同/近似的匹配(这就是真正的 OCR 的含义)?
您也可以首先找到图像/字形的加权中心,也许缩放尺寸以实现可比性(如果必须以不同的尺寸进行匹配),然后比较像素与像素之间的相似性(作为相似性百分比)两个图像。
当然,如果图像都已为您裁剪和调整大小,那么您只需扫描比较所有像素的图像,即可实现强力的“相似性”测量。
参见 BufferedImage.getRGB(): http://docs.oracle.com/javase/1.5.0/docs/api/java/awt/image/BufferedImage.html#getRGB(int,%20int)
您可以编写一个函数来获取两个 RGB 像素值(作为最大 0xffffff 的整数),分离组件,并对组件差异求和。
关于java - 如何使用光学字符识别确定图像中的数字是否相同或不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18943380/
我是一名优秀的程序员,十分优秀!