我正在做一個android項目,我必須檢測一個標誌(標誌可以是不同的對比度,色調或飽和度),爲此我使用Android的OpenCV-2.3.1直方圖比較。標誌的圖像比較
我遵循的步驟如下;
1)計算存儲的圖像
private List<Integer> histSize;
private List<Float> ranges;
histSize.add(50);
histSize.add(60);
histSize.add(10);
ranges.add(0f);
ranges.add(256f);
ranges.add(0f);
ranges.add(180f);
ranges.add(0f);
ranges.add(256f);
channels.add(0);
channels.add(1);
channels.add(2);
hsv_base1=new Mat();
Imgproc.cvtColor(image1,hsv_base1, Imgproc.COLOR_BGR2HSV);
hsv_base.add(hsv_base1);
Imgproc.calcHist(hsv_base, channels,new Mat(), hist_base, histSize, ranges,false);
2) 那麼我裁剪所捕獲的圖像的每一幀的HIST值。裁剪圖像的大小與存儲圖像的大小完全相同,並使用與上述相同的方法計算其直方圖值。
3) 兩個圖像
double base_test2 = Imgproc.compareHist(hist_base1,hist_baseCamera1,Imgproc.CV_COMP_CHISQR);
的存儲HIST值進行比較,我得到comparehist物有所值的。然而,問題是某些時候它爲一些隨機捕獲的圖像提供了很好的值,即不需要的。
所以現在我打算使用一些其他方法與直方圖比較。我的標誌由一個圓圈組成。
我的問題是::是否有任何方法,以便我可以找到捕獲的圖像由與存儲的徽標的圓的大小完全相同的圓組成。
或者我應該使用的任何其他方法,或者我可以播放存儲的通道,範圍,histSize值?
我以前曾使用模板匹配,它的速度很慢和
我會很感激有這方面的光同樣大小的圖像相當困難。
細分似乎是一個更好的選擇。雖然我從來沒有在openCv中實現分割,我會試試這個。 – user1249358 2012-03-22 05:35:10