2010-06-01 126 views
8

我正在研究圖像處理識別某些對象並在圖像中對其進行計數的可能性。計算圖像中對象的數量

我會給出一張照片,我需要確定該圖像中存在的盒子數量。

有沒有人有任何機器視覺/圖像處理庫的經驗,如ImageJ,斐濟,JAI,jMagick,Java視覺工具包?你認爲哪一種最適合這項工作?你們有什麼建議?如果API可以使用Java,那會更好。謝謝。

編輯: 我正在處理倉庫棕色框。是的,我正在談論普通照片。來源通常是手機圖片。

編輯2: 對不起,答案是自動選擇的。 (

+1

這是一項投資,但MATLAB有這樣的功能。參見例如http://blogs.mathworks.com/steve/2006/06/02/cell-segmentation/ – 2010-06-01 19:19:07

+0

這種模式識別問題有多抽象? 「盒子」是什麼意思?你在處理普通照片嗎? – Amichai 2010-06-04 21:12:08

+2

給我們一個照片的例子。 – ton4eg 2010-06-06 00:12:48

回答

8

如果您必須堅持使用Java,您仍然可以使用OpenCV

  1. 如果只是盒子,您可以使用Hough Transforms來檢測它們。
  2. 您可以使用OpenSURF根據您提供給它的源圖像來檢測手機。
  3. 不要認爲這對你的情況是可行的:HAAR Cascades。您可以創建自定義的HAAR分類器,但培訓過程可能非常耗時。

HTH, 喬治

10

我從來沒用過你列出的庫,但我已經使用了OpenCV的

的OpenCV是一個很好的支持和成熟的計算機視覺庫它內置功能來計算圖像中的原始形狀的數量。它是用C++編寫的,但是你可以創建一個小封裝來通過JNI來調用。

RoboRealm是機器人愛好者使用的另一種經過驗證的計算機視覺系統,它是一種封閉源代碼的商業產品,它使用基於套接字的控制API。

http://opencv.willowgarage.com/wiki/FullOpenCVWiki

http://www.roborealm.com/index.php

5

在Java中,有一些擴展Java高級圖像API提供計算機視覺的幾個項目:在Java + IPJ

  • JavaVis
  • 圖像處理 - 對JAI
  • 計算機視覺擴展
  • Java Vision Toolkit - JVT(編輯:opps,這是在問題中提到的)。

JavaVis有一個paper,它引入了庫,與上述其他兩個庫進行比較和對比。

JavaVis具有下列特徵:

  • 處理2D和3D圖像(3D是在這種情況下,最相關的)
  • 有用於檢測潛在結果的GUI
  • Matlab的圖像導出

對於java也是NeatVision。與其他文件不同的是,這個項目的文件清晰可見。

這些項目都不會給你一個簡單的交鑰匙解決方案。您需要了解計算機視覺如何工作,並在照片上創建一系列處理步驟,以幫助從視覺算法中獲得最佳效果。爲此,JavaVis可能是最有用的,因爲它旨在教授計算機視覺。

1

你是否願意開發你自己的代碼?有幾種技術可以應用並針對您的特定問題進行調整,但我從未使用過打包的庫,總是開發自己的代碼。如果您有興趣,我可以提供參考資料。

+0

我會很感興趣。謝謝。 – unj2 2010-06-10 23:15:30

5

如果你不是在談論實時圖像處理,你可以編寫一個API到Amazon Mechanical Turk

+0

偉大的橫向思維解決方案。對於某些參數來說,它也是最便宜也是最可靠的。 – MZB 2010-06-11 16:39:32

+0

foarte皮重:)! +1 – 2010-06-11 21:13:38