0
我正在使用HOG功能來檢測兩個圖像的相似性,並找出圖像的哪個部分發生了變化。測試場景是我首先以表格的圖片作爲參考,然後在表格的角落添加一個對象,然後在相同的位置再次拍攝圖片。如何檢測opencv中兩個圖像之間的變化?
然後我使用resize和hog來計算兩張圖片上的HOG特徵數組。 Imgproc.resize(mGray,mGray,new Size(128,256)); hog.compute(mGray,des); 然後
double distance=0;
for(int i=0;i<ref.length;i++)
{
distance += Math.abs(ref[i] - a[i]);
}
if(distance < Threshold){
Log.i(TAG,"has difference "+distance);
}else{
Log.i(TAG,"has no difference "+distance);
}
現在我可以檢測上有兩張圖片的變化,但我怎麼能快速確定在何處變化?最初,我正在考慮將圖片拆分爲許多小塊,並計算這些小塊的HOG特徵值,逐塊比較距離,但這並不是很有效。
如果有更好的方法來做到這一點?