2011-06-12 42 views
1

我有一個PNG圖像,我想要得到該矩形以適應它上面的可見圖像。在PNG圖像上獲取合適的矩形

這裏我的形象的例子:

enter image description here

我有圖像尺寸比它裏面的圖像更大。

外部矩形是我的圖像的真實寬度和高度。我想讓矩形依賴於內部矩形的可見圖像。

我正在使用Java。我怎麼能這樣做?

+1

請允許我歡迎您來到StackOverflow,並提醒我們通常在這裏做的三件事:1)當您獲得幫助時,嘗試給予它**在您的專業領域回答問題** 2)['閱讀(http://tinyurl.com/2vycnvr)3)當你看到很好的問答時,用['灰色三角形](http://i.imgur.com/kygEP.png)「因爲系統的可信度基於用戶通過分享知識獲得的聲譽。還請記住接受更好地解決您的問題的答案,如果有的話['通過按複選標記'](http://tinyurl.com/4srwe2t) – 2011-06-12 05:17:45

+0

Oke ... 對不起2 我是新來的... – Kenjiro 2011-06-12 05:25:09

回答

1

如果你想自己做,我的想法是:

開始在圖像的頂部:

  1. 掃描圖像的最上一行和計數的不同顏色的數量。你可能想在這裏用一點模糊來定義「distinct」。
  2. 如果只有一種顏色,請記住該顏色。否則,你完成了頂部。
  3. 掃描下一行。如果它只有一種顏色,並且該顏色與最上面一行中的顏色相同,則繼續執行第3步。
  4. 您已完成。當前行是第一個「相關」圖像行。

對圖像的其他邊界重複上述步驟,就完成了。

注:爲了能夠測試你的算法正確,你應該在整個任務拆分爲若干個:

  1. Rectangle visibleRectangle(BufferedImage image);這是自動化測試的良好界面。
  2. BufferedImage crop(BufferedImage image, Rectangle image);其餘的工作,這應該是相當簡單的編程。
+0

我使用PixelGrabber,它看起來很好找。我得到那個透明度爲零的像素。 – Kenjiro 2011-06-12 07:20:46