<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Android OCR 之 tesseract

      OCR屬于CV的范疇,也就是計算機視覺,目前來看,除了opencv這個龍頭老大,也就是hp開發(fā)的tesseract比較好用,雖然年頭比較長了,但現(xiàn)在歸google維護并托管在google code上了。

       

      現(xiàn)在有android版本的
      地址:http://code.google.com/p/tesseract-android-tools/

      這個版本得自己git 三個庫 leptonica  tesseract  libjpeg ,我自己是編譯成功了,但測試的時候native層總是crash。

       

      于是發(fā)現(xiàn)了tess的android的另一個分支 tess-two

      推薦linux上編譯

       

      一、下載&編譯

      1、首先下載tess-two

      git clone git://github.com/rmtheis/tess-two tess


      2、進入 tess目錄,里面有三個項目,我們只需要進入tess-two就可以直接編譯了

      cd tess/tess-two
      ndk-build


       3、編譯好后,將src下的兩個包以及l(fā)ibs導(dǎo)入到自己的項目就可以用啦

      這里把我我把編譯好后的東西放出來,用的話不用再編譯了

      下載:tess-two.zip

       

      二、使用

      tesseract 使用了 leptonica的圖像處理庫,對于圖像處理還是比較強大的

      Android官方地址:tesseract-android-tools

      但它必須要一個匹配庫,即tessdata,我們可以從官方拷貝,在前面git的項目里面tesseract源碼目錄有現(xiàn)成的tessdata可以用,對于中文,google code上也有下載,當(dāng)然也可以自己訓(xùn)練不同語言的tessdata。

      包leptonica的類我們不必使用,只要使用tess包的類就行了

      TessBaseAPI

      使用時,首先創(chuàng)建TessBaseAPI對象

      TessBaseAPI baseApi=new TessBaseAPI();

      //初始化tess
      //android下面,tessdata肯定得放到sd卡里了
      //如果tessdata這個目錄放在sd卡的根目錄
      //那么path直接傳入sd卡的目錄
      //eng就是英文,關(guān)于語言,按ISO 639-3標(biāo)準(zhǔn)的代碼就行,具體請移步wiki
      baseApi.init("tessdata文件夾的父級目錄", "eng");

      //options是為了縮放圖片,這個酌情縮放,圖片小的話可以不縮放
      BitmapFactory.Options options=new BitmapFactory.Options();
      //縮小為原來的1/2
      options.inSampleSize=2;

      //bitmap,我這里是以流的形式,只要能形成Bitmap就行
      Bitmap bitmap = BitmapFactory.decodeStream(instream,null,options);
      instream.close();


      //如果圖片有Alpha值,那么最好設(shè)置一下
      /*
      ExifInterface exif = new ExifInterface(filename)
      int exifOrientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);


      int rotate = 0;
      switch (exifOrientation) {
      case ExifInterface.ORIENTATION_ROTATE_90:
      rotate = 90;
      break;
      case ExifInterface.ORIENTATION_ROTATE_180:
      rotate = 180;
      break;
      case ExifInterface.ORIENTATION_ROTATE_270:
      rotate = 270;
      break;
      }


      if (rotate != 0) {

      // Getting width & height of the given image.
      int w = bitmap.getWidth();
      int h = bitmap.getHeight();

      // Setting pre rotate
      Matrix mtx = new Matrix();
      mtx.preRotate(rotate);

      // Rotating Bitmap
      bitmap = Bitmap.createBitmap(bitmap, 0, 0, w, h, mtx, false);
      // tesseract req. ARGB_8888
      bitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);
      }
      */

      //設(shè)置要ocr的圖片bitmap
      baseApi.setImage(bitmap);
      //根據(jù)Init的語言,獲得ocr后的字符串
      String text= baseApi.getUTF8Text();
      //釋放bitmap
      baseApi.clear();

      //如果連續(xù)ocr多張圖片,這個end可以不調(diào)用,但每次ocr之后,必須調(diào)用clear來對bitmap進行釋放
      //釋放native內(nèi)存
      baseApi.end();

      ///////////////////////////其它方法//////////////////////////////////


      //獲取字符邊框

      Pixa pixa= baseApi.getCharacters();

      //同上,這個是整段文字的邊框
      baseApi.getRegions();

      //同上,只不過這里是條線
      baseApi.getTextlines();

      //剩下的自己測試吧。

      //轉(zhuǎn)為rect數(shù)組 ,之后,可以很方便的在圖片上框出方框
      //怎么框由你
      ArrayList<Rect> rects=pixa.getBoxRects();


      結(jié)束。

       

      android下ocr就這么簡單,好好使用第三方庫就行了。

      ps:在使用這套庫對12306的驗證碼進行ocr時,耗時50ms左右。

      posted on 2012-01-13 13:29  黑暗伯爵  閱讀(38092)  評論(50)    收藏  舉報

      導(dǎo)航

      主站蜘蛛池模板: 国产精品第一二三区久久| 中文字幕乱码中文乱码毛片 | 免费人成视频在线播放| 精品久久丝袜熟女一二三| 少妇厨房愉情理9仑片视频| 午夜射精日本三级| 精品在免费线中文字幕久久| 四虎永久地址www成人| 亚洲欧美不卡视频在线播放| 久久人人97超碰精品| 久久日产一线二线三线| 久久精品国产99国产精品澳门| 无码伊人久久大杳蕉中文无码| 高潮精品熟妇一区二区三区 | 亚洲一区二区三级av| 亚洲av无码精品色午夜蛋壳| 精品国产综合成人亚洲区| 精品久久久无码中文字幕| 国产va免费精品观看| 国内自拍av在线免费| 好姑娘高清影视在线观看| 中文字幕日韩有码av| 久久99日韩国产精品久久99| 欧美性猛交xxxx乱大交丰满| 国产按头口爆吞精在线视频| 亚洲一区二区三区蜜桃臀| 国产一区二区三区不卡视频| 日韩女同在线二区三区| 亚洲精品二区在线播放| 国产熟女一区二区三区蜜臀| 久久亚洲精品国产精品婷婷| 一级做a爰片久久毛片下载| 无码专区—va亚洲v天堂麻豆| 两性午夜刺激性视频| 国产精品久久久久久影视| 国产亚洲无线码一区二区| 女子spa高潮呻吟抽搐| 国产精品伦理一区二区三| 尹人香蕉久久99天天拍| 凤庆县| 久久99国产亚洲高清观看首页|