2022年2月23日 星期三

s1073530 作業1

 一、作業說明

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


二、開發環境

Windows11

Visual Studio 2019

OpenCV4.5.5

 

三、實作方法

1.      輸入圖片路徑及名稱,利用imread()讀取圖片。若讀取失敗,跳出訊息並結束執行。

2.      在程式中設定欲改變的值(beta)

3.      利用img.at<Vec3b>(row, col)[ ]讀入圖片之R,G,B數值,如果三個數值相等則為灰階圖片,否則為彩色圖片。

4.      若是灰階圖像,則改變灰階圖像每個像素的值,再將原圖像灰階圖像印出。

5.      若是彩色圖像,則改變彩色圖像中R的值,再將原圖像和彩色圖像印出。 


四、執行結果

                    灰階圖像



                                彩色圖像  





沒有留言:

張貼留言