我正在嘗試使用Java爲OMR識別構建代碼。當掃描圖像中的對象與我使用的模板圖像位置不同時,我遇到了問題。在Java中裁剪圖像
爲了解決這個問題,我決定在圖像中放置邊框,當我用邊框切出圖像時,我可以得到正確的值。現在,我已經手動剪切了圖像,但我想用Java剪切圖像。
我知道我可以從CropImageFilter
類中得到一個矩形選區。但是,我怎樣才能讓程序知道從哪裏開始?任何人都可以幫我解決這個問題嗎?
我正在嘗試使用Java爲OMR識別構建代碼。當掃描圖像中的對象與我使用的模板圖像位置不同時,我遇到了問題。在Java中裁剪圖像
爲了解決這個問題,我決定在圖像中放置邊框,當我用邊框切出圖像時,我可以得到正確的值。現在,我已經手動剪切了圖像,但我想用Java剪切圖像。
我知道我可以從CropImageFilter
類中得到一個矩形選區。但是,我怎樣才能讓程序知道從哪裏開始?任何人都可以幫我解決這個問題嗎?
你可以看看CropImageFilter
的Constructor:
CropImageFilter(int x, int y, int w, int h)
構建,它可以提取其源圖像像素的絕對矩形區域由X,Y規定,W來構造CropImageFilter,和h參數。
是的,我知道這一點。我想知道的是如何獲得圖像的x和y值。 – cbandroid 2014-09-12 15:57:52
如果你沒有使用Java 7
後來我知道這樣做的最簡單的方法是:
private BufferedImage cropImage(BufferedImage source, Rectangle newDim) {
return source.getSubimage(0, 0, newDim.width, newDim.height);
}
也許是我,但你的問題是非常不清楚我。 – 2014-09-12 15:42:17
不是你的貶低選民的方式。 – 2014-09-12 15:48:06
如果您想查找標記的位置,可以查看開放源代碼,[wikipedia](http://en.wikipedia.org/wiki/Optical_mark_recognition)中的鏈接。 – 2014-09-12 15:52:07