顯示具有 110 hw1 標籤的文章。 顯示所有文章
顯示具有 110 hw1 標籤的文章。 顯示所有文章

2022年2月24日 星期四

s1081544 作業1

 開發環境:

        Windows10

        Visual studio 2022

        Opencv-4.5.0

        C++

作業說明:

        輸入圖片,接著判斷是彩圖還是灰階圖,

 接著輸入想改變的值的大小,如果輸入的是彩圖

,則改變圖的R值,輸入的是灰階圖,則改變圖的

灰階值。

實作方法:

        先輸入圖片名稱,再到專案資料夾裡讀圖,如果找不到

檔案會輸出"image not found"就再輸入一次,讀到圖片後進

function判斷彩圖還是灰階,然後再輸入想改變的值,改變每

個像素的值,值的範圍在0 ~ 255之間,最後輸出。

執行結果:    

    lennaRGB.tif 

    origin                              R(+100)                          R(-100)

    bookGray.jpg

    origin                              gray(+100)                      gray(-100)

2022年2月23日 星期三

s1081523 作業1

 

s1081523 作業1

作業說明:

撰寫一個程式讀取一張圖片,將圖像中每一個點像素的值各加上一個數值。

如果輸入 圖像是灰階圖像,改變每個像素的灰階值;如果輸入圖像是全彩圖像(RGB),則只改變每個像素的 R 值。 
注意修改後像數值溢位Overflow 問題(像素值介於 0 與 255 之間)。 

 

開發環境: 

·     Windows 10

·     Visual Studio 2019

·     OpenCV 4.5.5

·     C++

 

實作過程:

1. 放入對應圖片的完整路徑,並用imread()讀取圖像。

2. 根據每一個像素的b、g、r值判斷是灰階或全彩圖像(灰階圖的bgr值相等)。

3. 點擊執行視窗進行輸入(注意若視窗沒有跑出提醒輸入的提示,先按一下enter) 
4. 使用者輸入改變值 (灰階圖像改亮度、全彩圖像改r值,並且做簡單防呆)。因為有用saturate_cast轉換所以不會發生溢位問題。

5. 結束程式,關閉圖片顯示視窗。

執行結果:

                灰階圖亮度+100 (右側為原圖,左側為輸出視窗)






                灰階圖亮度-100 (右側為原圖,左側為輸出視窗)






                全彩圖r值+125 (右側為原圖,左側為輸出視窗)





                 全彩圖r值+125 (右側為原圖,左側為輸出視窗)






s1073522 作業 1

 一、 作業說明

撰寫一個程式讀取一張圖片,將圖像中每一個點像素的值各加上一個數值。如果輸入圖像是灰階圖像,改變每個像素的灰階值;如果輸入圖像是全彩圖像(RGB),則只改變每個像素的R 值。

注意修改後像素值溢位Overflow 問題(像素值介於0 與255 之間)。


二、 開發環境

  • Windows 11
  • Visual Studio 2017
  • OpenCV - 4.5.5


三、 實作方法

  1. 利用 imread 讀取圖片,並要求使用者輸入欲改變的值。
  2. 利用迴圈確認圖片每一個pixel的RGB是否皆相等。
  3. 若皆相等,代表該圖片為灰階圖像,利用cvtColor將圖片轉成灰階圖像。
  4. 將圖片傳到函式 change_pic,使用 channels() 判斷圖片為灰階圖像或全彩圖像,並加以調整。
  5. 同時輸出原本的照片以及調整後的照片。


四、 程式使用方法

  1. 輸入要修改的圖片檔名
  2. 輸入修改值

五、 執行結果

灰階圖像(+150):

(原圖/輸出)
灰階圖像(-150):

(原圖/輸出)

全彩圖像(+150):


(原圖/輸出)

全彩圖像(-150):

(原圖/輸出)



s1081545 作業1

作業說明:

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

開發環境: 
  • Windows 10
  • Visual Studio 2013
  • OpenCV 2.4.13
  • C++


實作方法:
1. 讀取圖像。
2. 根據每個像素的RGB判斷是灰階圖像還是全彩圖像。
3. 輸入欲改變的值(灰階圖像改變灰階值、全彩圖像改變R值)。
4. 判斷是否overflow(小於0,更改後為0、大於255,更改後為255)。
5. 輸出更改前後的圖像。

執行結果:

灰階圖像(100)





灰階圖像(-100)


全彩圖像 (100)


全彩圖像 (-100)