6

画像 (フラットベッド スキャナから取得したものなど) の自動トリミングと傾き補正を実行する Java ライブラリの提案はありますか?

4

5 に答える 5

6

傾き補正

Tess4j (Tesseract の Java JNA ラッパー) を見てください。

ImageDeskew.getSkewAngle()ImageHelper.rotate(BufferedImage image, double angle)を組み合わせることができます。

tess4j プロジェクトTesseract1Test.javaのテスト フォルダーで使用する方法の例があります。

public void testDoOCR_SkewedImage() throws Exception {
    logger.info("doOCR on a skewed PNG image");
    File imageFile = new File(this.testResourcesDataPath, "eurotext_deskew.png");
    BufferedImage bi = ImageIO.read(imageFile);
    ImageDeskew id = new ImageDeskew(bi);
    double imageSkewAngle = id.getSkewAngle(); // determine skew angle
    if ((imageSkewAngle > MINIMUM_DESKEW_THRESHOLD || imageSkewAngle < -(MINIMUM_DESKEW_THRESHOLD))) {
        bi = ImageHelper.rotateImage(bi, -imageSkewAngle); // deskew image
    }

    String expResult = "The (quick) [brown] {fox} jumps!\nOver the $43,456.78 <lazy> #90 dog";
    String result = instance.doOCR(bi);
    logger.info(result);
    assertEquals(expResult, result.substring(0, expResult.length()));
}

eurotext_deskew.png

于 2016-03-27T13:42:57.267 に答える
4

ImageMagickはそれを行うことができます。ImageMagick Java バインディングを使用できます。auto-cropオペレーターは、おそらくあなたが探しているものです。自動傾き補正は、はるかに難しい問題であり、かなりの画像処理が必要です。ImageMagick がそれを処理できるかどうかはわかりません。他の何かを使用して傾斜パラメーターを把握できる場合は、ImageMagick で確実に傾斜を補正できます。

于 2008-11-07T20:29:25.123 に答える
3

私は非常に優れたdeskewerの単純な移植というメモを書きました。画像にテキストが含まれている場合に最適に機能します。

于 2010-10-28T12:46:41.547 に答える
0

これを行うために、誰かがJava Advanced Imaging APIの上にライブラリを構築したと思います。「Java Advanced Imaging デスキュー」については Google で検索してみてください。

于 2008-11-07T20:31:47.973 に答える