2022年2月23日 星期三

s1071552 作業1


1.作業說明

撰寫一個程式讀取一張圖片,將圖像中每一個點像素的值各加上一個數值。如果輸入圖像是灰階圖像,改變每個像素的灰階值;如果輸入圖像是全彩圖像(RGB),則只改變每個像素的 R 值。修改後像素值溢位Overflow 問題(像素值介於 0  255 之間)

2.開發環境

ios 10.15.7 
Visual Studio Code 1.63 
OpenCV - 4.5.5

3.程式說明

1.使用imread來讀取圖像
2.判斷讀入的圖像為全彩圖像還是灰階圖像,判斷方式為比較圖像每個像素中的RGB通道中的值,若相同則表示此圖像為灰階圖。
3.若為灰階的圖則每個像素的RGB通道的值都要加上輸入的數值,若為全彩圖像則R通道加上輸入的數值即可,兩者皆要判斷是否有溢位的問題(若大於255則設為255,小於0則設為0)
4.最後使用imshow顯示加上數值後的圖像

4.執行結果

讀取圖片:lennaRGB.tif
原圖: 
輸入數值:150
輸入數值:-150


讀取圖片:bookGray.jpg
原圖:
輸入數值:150 
輸入數值:-150



1 則留言: