2015-04-17 69 views
1

使用OCR我试图用OCR工作,而我下面这个教程:在谷歌眼镜

https://community.idolondemand.com/t5/Blog/Tutorial-OCR-on-Google-Glass/ba-p/1164

但它不工作的好玻璃。 。

在相机中显示虚幻的色彩......皮肤的颜色是蓝色:( 我不知道如何解决它,我已经修改了代码,启动摄像头这样的:

@Override 
public void surfaceCreated(SurfaceHolder holder) { 
    camera = Camera.open(); 

    Camera.Parameters params = camera.getParameters(); //added 
    params.setPreviewFpsRange(30000, 30000); //added 
    params.setPreviewSize(640,360); //added 
    camera.setParameters(params); //added 

    // Show the Camera display 
    try { 
     camera.setPreviewDisplay(holder); 
    } catch (IOException e) { 
     this.releaseCamera(); 
    } 
} 

带着这个问题,我可以尝试使用OCR和不能识别的图像以及文本...但是,能不能与相机有关的问题?

是否有任何其他API做OCR?

回答

0

如果皮肤的颜色是蓝色的,那可能是你是拉皮以BGR格式显示帧,然后尝试将其显示在RBG中。一些计算机视觉库(如OpenCV)使用BGR,尝试将索引的每帧从BGR转换为RGB,并查看是否可以解决您的颜色问题。

此外,如果您正在努力与您的OCR API this教程可能会对你有用。

它将解释如何在android环境中使用神经网络,它可以用于许多其他事情中的OCR。

+0

而我如何才能将BGR完全更改为RGB?感谢您的回复! – adri1992

+0

如果您有权访问每个像素的数据,则应该发现每个像素都存储为具有3个索引的数组,其中一个用于红色,绿色和蓝色。 如果您可以拉取其中每一个的值,您可以创建一个新图像,并使用您设法从原始图像中提取的像素数据填充图像信息,除非您这样做,您可以重新排列数据,以便它在正确的位置(我希望这是有道理的,我害怕我没有代码向您显示) – Aphire

+0

或者,如果您正在使用某种图像处理库,可能会有这样的功能:你(在OpenCV中它将是cvtColor) – Aphire