2014-09-12 184 views
-1

我正在嘗試使用Java爲OMR識別構建代碼。當掃描圖像中的對象與我使用的模板圖像位置不同時,我遇到了問題。在Java中裁剪圖像

爲了解決這個問題,我決定在圖像中放置邊框,當我用邊框切出圖像時,我可以得到正確的值。現在,我已經手動剪切了圖像,但我想用Java剪切圖像。

我知道我可以從CropImageFilter類中得到一個矩形選區。但是,我怎樣才能讓程序知道從哪裏開始?任何人都可以幫我解決這個問題嗎?

+2

也許是我,但你的問題是非常不清楚我。 – 2014-09-12 15:42:17

+0

不是你的貶低選民的方式。 – 2014-09-12 15:48:06

+0

如果您想查找標記的位置,可以查看開放源代碼,[wikipedia](http://en.wikipedia.org/wiki/Optical_mark_recognition)中的鏈接。 – 2014-09-12 15:52:07

回答

0

你可以看看CropImageFilterConstructor

CropImageFilter(int x, int y, int w, int h)

構建,它可以提取其源圖像像素的絕對矩形區域由X,Y規定,W來構造CropImageFilter,和h參數。

+0

是的,我知道這一點。我想知道的是如何獲得圖像的x和y值。 – cbandroid 2014-09-12 15:57:52

2

如果你沒有使用Java 7

後來我知道這樣做的最簡單的方法是:

private BufferedImage cropImage(BufferedImage source, Rectangle newDim) { 
     return source.getSubimage(0, 0, newDim.width, newDim.height); 
    }