影像相減是一個非常實用也非常簡單的基本影像運算,
舉凡動態物體偵測、模版比對,
都可以例用簡單的影像相減來達成,
影像相減是一個非常實用也非常簡單的基本影像運算,
舉凡動態物體偵測、模版比對,
都可以利用簡單的影像相減來達成,
影像相減基本上就是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所得到的結果。
新手發文如有錯誤,煩請指正!