Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用PHP OCR对非常相似的图像进行排序_Php_Linux_Api_Ocr - Fatal编程技术网

用PHP OCR对非常相似的图像进行排序

用PHP OCR对非常相似的图像进行排序,php,linux,api,ocr,Php,Linux,Api,Ocr,谢谢你看我的问题 基本上,我要做的是在这里找到所有看起来像第一个和第三个图像的图像: 并移除所有看起来不像(2,4)的 我试过几个图书馆,但都没用 另一个可以接受的方法是检查图像是否包含“Code:”,因为我要整理的每个图像中都有这个字符串 谢谢,, 史蒂夫 编辑:虽然第1张和第3张图像看起来大小相同,但实际大小不同。如果这些图像是您要使用的实际图像,则直方图相似性似乎可以完成这项工作。第一个和第三个对比度非常大,第二个和第四个,尤其是第四个,有着广泛的不同强度 您可以很容易地为图像中的灰色阴影

谢谢你看我的问题

基本上,我要做的是在这里找到所有看起来像第一个和第三个图像的图像:

并移除所有看起来不像(2,4)的

我试过几个图书馆,但都没用

另一个可以接受的方法是检查图像是否包含“Code:”,因为我要整理的每个图像中都有这个字符串

谢谢,, 史蒂夫


编辑:虽然第1张和第3张图像看起来大小相同,但实际大小不同。

如果这些图像是您要使用的实际图像,则直方图相似性似乎可以完成这项工作。第一个和第三个对比度非常大,第二个和第四个,尤其是第四个,有着广泛的不同强度

您可以很容易地为图像中的灰色阴影绘制直方图,然后将阈值应用于直方图的形状以对其进行分类


编辑:要真正做到这一点:您可以遍历每个像素并创建一个像素值=>找到次数的数组。因为它是灰度的,你可以选择R、G或B频道。然后将每个数字除以图像中要归一化的像素数,这样它就可以适用于任何大小。直方图中的每个条目将是所用像素数的一小部分。然后可以测量高于某个阈值的值的数量。如果有很多灰色,您将得到大量的小值。如果没有,您将得到少量的大值。

如果这些是您将要使用的实际图像,那么直方图相似性似乎可以完成这项工作。第一个和第三个对比度非常大,第二个和第四个,尤其是第四个,有着广泛的不同强度

您可以很容易地为图像中的灰色阴影绘制直方图,然后将阈值应用于直方图的形状以对其进行分类


编辑:要真正做到这一点:您可以遍历每个像素并创建一个像素值=>找到次数的数组。因为它是灰度的,你可以选择R、G或B频道。然后将每个数字除以图像中要归一化的像素数,这样它就可以适用于任何大小。直方图中的每个条目将是所用像素数的一小部分。然后可以测量高于某个阈值的值的数量。如果有很多灰色,您将得到大量的小值。如果没有,您将得到一小部分大值。

由于我的背景是更多地处理图像中的文本而不是图像对象,我会在OCR后处理过程中这样做,搜索文本内容中的“关键字”或检查表示所需数据的“正则表达式”。这意味着整个工作需要分为两个阶段:图像到文本OCR(免费或廉价,软件或云),以及实际的分离过程(简单编程)

由于我的背景是更多地处理来自图像的文本,而不是图像对象,我会在OCR后处理过程中这样做,通过搜索文本内容中的“关键字”或检查表示所需数据的“正则表达式”。这意味着整个工作需要分为两个阶段:图像到文本OCR(免费或廉价,软件或云),以及实际的分离过程(简单编程)

您尝试过哪些库?失败的原因到底是什么?否则,人们可能会再次推荐相同的解决方案。我已经尝试过了,但都没有成功,因为第二个一次只能识别图像中的一个字母,而第一个根本无法识别任何字母(对于输出“8”的“Code:XXXX-XXXX-XXXX-XXXX”)。您尝试过哪些库,以及失败的原因是什么?否则,人们可能会再次推荐相同的解决方案。我已经尝试过了,但都没有成功,因为第二个一次只能识别图像中的一个字母,而第一个根本无法识别任何字母(输出“8”的“代码:XXXX-XXXX-XXXX-XXXX”)。阅读你的答案,想想50种灰色的阴影哈哈。但是我该怎么做呢?我所有的图片都是白色背景上的黑色文本,但也有其他类似的图片,比如白色背景上的黑色文本。我已经编辑了我的答案,并介绍了如何实际操作。这是一个简单的算法来实现,所以你可以尝试一下,花一些时间调整一系列输入的值,看看它是否有效。但是我该怎么做呢?我所有的图片都是白色背景上的黑色文本,但也有其他类似的图片,比如白色背景上的黑色文本。我已经编辑了我的答案,并介绍了如何实际操作。这是一个易于实现的简单算法,因此您可以尝试它,花一些时间调整一系列输入的值,看看它是否有效。