2010-11-26 70 views
2

我正在製作一個小程序,讓用戶剪出一張圖像並保存。爲了剪裁,我要實施一個「魔杖」 - 轉換工具。我可以在Matlab中完成所有這些工作,但我在計算Java庫時遇到了一些麻煩。下面是我需要執行幾個任務:我應該如何在Java中進行圖像處理?

  • 由(x,y)的隨機訪問圖像中的像素和返回同一個對象(java.awt.Color中,ARGB整型,短整型[],無論 - 只要我不處理通道獨立)
  • 創建從一個布爾alpha通道[] []
  • 創建由M圖像的n表示已初始化綠色

所有優點在那裏誰可以幫我?只是一些代碼片斷的頭頂會好起來的。

非常感謝,

尼爾

+2

你看過Java Advanced Imaging API嗎? – 2010-11-26 01:38:41

回答

8

你想使用的Java2D庫。具體而言,您想使用庫中的BufferedImage類來處理圖像。您可以訪問各個像素並執行上面指定的所有操作。 Sun/Oracle有一個good tutorial讓你開始朝正確的方向發展。該教程的第二部分將繼續創建一個Alpha通道。哦,要訪問單個像素,您需要使用WritableRaster類。所以你可以做這樣的事情。希望這會讓你開始。

WritableRaster imageRaster = Bufferedimg.getRaster(); 
//use java random generation to get a random x and y coordinate, then call this to access the pixel 
imageRaster.getPixel(x, y,(int[])null); 
+0

順便說一句,你的指南鏈接被破壞了,它在URL的末尾有一個額外的`l`。 – misha 2010-11-26 03:34:37

2

ImageJ是一個成熟的,開放源碼的圖像處理框架,支持宏,插件和其它features的主機。

0

Marvin是一個Java圖像處理框架,可以幫助你。它提供了濾波,特徵提取,形態分析,變形,分割等算法。此外,其架構支持使用相同算法的實時視頻處理。