在昨天的Blog,我們使用了Standard Library讀寫bmp圖檔,其中的unsigned char *,雖然是一個一維陣列,但骨子是一個二維陣列,該如何實際的做影像處理呢?
先示範一個最簡單的影像處理,產生一個紅色的圖形。
1
}
本範例試著用此一維陣列作一個最簡單的影像處理,將圖片由右向左作mirror。
1
}
125行到135行為實際的一個pixel一個pixel作影像處理。
原圖
執行結果
Remark
在撰寫處理陣列的迴圈時,應該先從z,再y,最後才是x,為什麼呢?因為當宣告陣列時,是int ia[sizey][sizex],所以是先y,然後才x。
See Also
(原創) 如何使用ANSI C/ISO C++讀寫bmp圖檔? (C/C++)