使用selenium和java读取图像内容

时间:2017-05-25 10:45:45

标签: selenium selenium-webdriver

我想使用selenium和asprise jar阅读图片内容,并在我的项目中添加了jar文件:

  • aocr.jar
  • AspriseOCR

以下是我的代码:

          BufferedImage image = ImageIO.read(new File("C:\\Users\\siddhesh.kalgaonkar\\Desktop\\love.jpg"));
          String imageText = new OCR().recognizeCharacters((RenderedImage)image);
          System.out.println("Text From Image : \n"+ imageText);
          System.out.println("Length of total text : \n"+ imageText.length());   

但它给出了以下错误:

java.lang.UnsatisfiedLinkError: no AspriseOCR in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at com.asprise.util.ocr.OCR.loadLibrary(OCR.java:247)
    at com.asprise.util.ocr.OCR.<init>(OCR.java:56)
    at com.image.selenium.ImageVerification.start(ImageVerification.java:52)  

我也尝试使用this链接设置java.library.path但没有用。请帮助任何人。

1 个答案:

答案 0 :(得分:3)

我得到了自己问题的答案。我们现在可以借助以下信息来实现:

  • 将最新的aocr.jar添加到您的项目中。从中下载 Indent Style链接。

    • 在项目中包含 pom.xml 文件以获取maven依赖项并添加此依赖项:

          <dependency>
          <groupId>com.asprise.ocr</groupId>
          <artifactId>java-ocr-api</artifactId>
          <version>[15,)</version>
          </dependency>  
      
  • 在java文件中写下以下代码:

    public class ImageVerification  
    
    {  
     WebDriver driver;    
    
        @Test
        public void start() throws IOException {
    
            Ocr ocr = new Ocr(); // create a new OCR engine
            ocr.startEngine("eng", Ocr.SPEED_FASTEST); // English
    
            String s = ocr.recognize(new File[] { new File("C:\\Users\\siddhesh.kalgaonkar\\Desktop\\love.jpg") },
                    Ocr.RECOGNIZE_TYPE_TEXT, Ocr.OUTPUT_FORMAT_PLAINTEXT);
            System.out.println(s);
            ocr.stopEngine();
        }  
    
  • 有关详细信息,请参阅this链接
    享受:)
    注意:仅适用于纯文字图片。doesn't适用于包含图表格式饼图数据的图片或趋势图