影像相減

影像相減是一個非常實用也非常簡單的基本影像運算,
舉凡動態物體偵測、模版比對,
都可以例用簡單的影像相減來達成,

影像相減是一個非常實用也非常簡單的基本影像運算,

舉凡動態物體偵測、模版比對,

都可以利用簡單的影像相減來達成,

 

影像相減基本上就是a - b = c

可以看成是 a圖 - b圖 = c圖

以模版比對來看  

 

a圖 - b圖 = c圖
- =
要比對的影像 - 樣板 = 相似度

(白色像索值為255   黑色像索值為0)

(相似度 = 0(黑色) 為兩張影像最相似)

正常情況下我們會在相似度上加個絕對值,

因為我們通常不會讓相似度是負的,

 

以下是程式碼(灰階影像)

(為了方便程式碼的部份將會以opencv的讀檔格式來呈現)



IplImage* image1;
IplImage* image2;
IplImage* image3;


for (int x = 0; x < image1->width; x++)
{
	for (int y = 0; y < image1->height; y++)
	{
		/* 索引值 */
		int index = y * image1->widthStep + x;

		/* 影像相減 */
		image3->imageData[index] = image1->imageData[index] - image2->imageData[index];   
	}
}

從上面我們可以很簡單的看到,

影像相減就是把影像的每一個pixel都減去另一張圖相同位置的pixel所得到的結果。

 

新手發文如有錯誤,煩請指正!