Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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
7段OCR java应用程序_Java_Image Processing_Ocr_Tesseract_Seven Segment Display - Fatal编程技术网

7段OCR java应用程序

7段OCR java应用程序,java,image-processing,ocr,tesseract,seven-segment-display,Java,Image Processing,Ocr,Tesseract,Seven Segment Display,我已经在这个项目上工作了几个月,现在需要一些帮助。我正试图从一台旧相机上识别图像上的字符,该相机使用七段LED在图像的右下角压印帧号。问题是,这些图片都是人的,而且肤色会和一些肤色较浅的图片相混淆。但大多数情况下,传统OCR无法识别,我正尝试使用Tesseract,但在编译应用程序以进行测试和培训时失败了。我在这里是想问,是否有其他人有类似的问题,或者知道Tesseract的替代品,以便能够识别这些字符。最好是可培训的ocr。我的搜索结果为空 大多数OCR在图像背景方面存在问题,因此您应该首先尝

我已经在这个项目上工作了几个月,现在需要一些帮助。我正试图从一台旧相机上识别图像上的字符,该相机使用七段LED在图像的右下角压印帧号。问题是,这些图片都是人的,而且肤色会和一些肤色较浅的图片相混淆。但大多数情况下,传统OCR无法识别,我正尝试使用Tesseract,但在编译应用程序以进行测试和培训时失败了。我在这里是想问,是否有其他人有类似的问题,或者知道Tesseract的替代品,以便能够识别这些字符。最好是可培训的ocr。我的搜索结果为空


大多数OCR在图像背景方面存在问题,因此您应该首先尝试隔离文本。由于这是计算机渲染的文本,因此:

  • 文本很可能位于图像中的同一位置

    所以不需要搜索它

  • 文本很可能总是使用相同的字体完成

    如果你有它,将减轻很多事情,甚至可以使用简单的方法,如每像素比较或相关系数与更好的结果比神经网络为基础的分类。你也可以试试这个

  • 您可以检测文本的“精确”颜色,过滤掉所有其他颜色

    尝试检测文本是实心还是透明(将/xor添加到图像像素)。无论如何,在此之后,检测文本像素应该不会太难。一旦你能可靠地检测到你的文本像素,你就可以把其他的东西都涂掉,然后使用OCR


  • 您要处理多少图像?因为你可能需要做机器学习,这是很难得到正确的。对于较小的数字(如1000),您最好手动输入数据或通过Mechanical Turk或其他方式雇佣劳动力?我相信,最重的数字是每天3500人,但平均约为1000人,这是一个连续的工作流程?我想你确实需要一些自动化。这个ocr将被插入到我们正在构建的另一个外部应用程序中。问题是我通常可以隔离肤色较深的人身上的角色,但在涉及肤色较浅的人身上,我无法检测到皮肤或角色的差异。@Acfarris1首先尝试使用白色、红色、,绿色、蓝色、黑色和灰色背景,以确定如何将文本添加到图像中。很难说是从单个图像,但看起来像某种混合(颜色添加到原始像素)如果这是真的,那么非饱和边缘应该是可检测的非常可靠和容易。但这只是第一眼的想法。。。由于图像压缩或某种抗锯齿效果很难判断片段是否失真,我知道使用的相机的帧数不是以数字方式添加的,而是通过将led发射器的光捕捉到光传感器(真正的老派)@Acfarris1在这种情况下,您应该尝试扫描所有通道中与形状和厚度匹配且与每个通道成比例的凸起。因此,首先找到分段光的属性,然后形成一条扫描线,搜索类似的内容: