2021年2月28日 星期日

s1071515 影像處理作業1

 

作業說明

撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值v ( -255 ≦ v  ≦ 255 ),並將圖像儲存至一個新圖像檔案中。

操作環境

Windows 10
Visual Studio 2019
OpenCV 4.5.1
Python 3.7

程式說明

用cv2、numpy函式庫 
imread讀取一張圖,np.clip使得範圍不會超過0~255,並調整圖片的對比度,輸入v去修改圖片的明暗,再用hstack將原圖和調整後的圖並排,最後用imshow顯示比較圖,以及用waitKey使比較圖顯示直到使用者進行下一個步驟。

實作結果(左邊為原圖)


輸入100
輸入-100

s1061531 影像處理作業 1

 

1.作業說明

         撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值 v (-255 <= v <= 255),並將圖像儲存至一個新圖像檔案中。

2.使用環境

         - Visual Studio 2019+OpenCv4.5.1 Debug x64

3.實作方法

         1.使用imread讀取想要修改的圖片

         2.創建一個大小和讀取的圖片相同的物件()

         3.輸入想要修改的對比度和亮度

         4.使用opencv內建的函式ConvertTo()

         5.使用imwriteconvertTo過後的物件存起來




s1071536 影像處理作業 1

一、作業說明 

撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值 v (-255 ≦ v ≦ 255),並將圖像儲存至一個新圖像檔案中。

二、作業環境

    Windows 10
    Python 3.7.9
    OpenCV 3.4.2

三、實作方法

1.利用imread將圖片讀入
2.取得每一個pixel的RGB值
3.對RGB三個值各加上v值並調整超出範圍的RGB值(0 ≦ R,G,B ≦ 255)
4.利用imwrite將處理過後的圖片儲存
5.利用imshow顯示處理過後的圖片

四、執行結果

原圖
原圖













v = -100(調暗)














v = 100(調亮)
















圖片來源:


s1073311 影像處理作業1

作業說明

撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值 v (-255 <= v <= 255),並將圖像儲存至一個新圖像檔案中。 

操作環境


macOS Big Sur
終端機
Python 3.7.3 / openCV 4.5.1

方法


1.用cv2.imread讀取圖片
2.複製2份圖片(變暗、變亮)
3.利用reshape將圖片展開成pixel*rgb的形式
4.設v=100
   將要變亮的圖片的RGB各+100,如果>255值為255
   將要變暗的圖片的RGB各-100,如果<0值為0
5.將圖片reshape成img的格式並儲存圖片

執行結果

    






s1061439 影像處理作業1

作業說明

撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值 v (-255 <= v <= 255),並將圖像儲存至一個新圖像檔案中。

操作環境

Windows 10
Python 3.8.5
openCV 4.5.1

實作方法

1.讀取圖片。
2.使用三個迴圈調整每個像素的值,
    如果加上v值,像素>255,將此像素設定為255;
    如果加上v值,像素<0,將此像素設定為0。
3.儲存修改後的圖片。

執行結果

                                       v=0

                                        v=50

                                    v=-50








2021年2月27日 星期六

s1073330 影像處理作業 1

  

一、作業說明:

 

撰寫一個程式從檔案讀取一張圖像,

將圖像的每一個點像素的值各加上一個整數值 v(-255 <= v <= 255 )

並將圖像儲存至一個新圖像檔案中。

 

二、使用環境:

 

作業系統 : Windows10

編譯軟體: Visual Studio2017

程式語言: c++/opencv 4.5.1

 

三、方法:

 

1. imread 從路徑讀取原圖片

2. 輸入想要的亮度

3. 使用BGR圖像進行操作,因此每像素(BGR)將有三個值

4. saturate_cast(value) 確保值得大小範圍在0-255之間

5. imshow 圖片顯示

6. imwrite 儲存調整完亮度的圖片

 

四、執行結果:

亮度-100:














亮度+100:







 


s1071221影像處理 作業1

一、作業說明:

撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值 v(-255 <= v <= 255 )並將圖像儲存至一個新圖像檔案中

二、使用環境:

作業系統 : windows10
編譯軟體: Visual Studio Code
使用語言
: python 3.9.2/opencv 4.1.2
 
三、方法:

1. imread讀取圖片,並把讀取方式設為一般(不含透明度)
2. 
由於OpenCV裡面是靠numpy陣列在記錄圖像資訊,所以只要建立一numpy陣列就等同於建立一個圖像了,所以建立一個(blue=100,green=100,red=100)的純色圖像
3. 
圖像相加(大於255的會直接等於255) 亮度變亮
4. 
圖像相減(小於0的會直接等於0) 亮度變暗
5. imwrite
儲存變暗圖片和變亮圖片
6. imshow
圖片顯示

 
四、執行結果:




    





s1071530 影像處理作業 1

一、作業說明:

撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值 v

(-255 <= v <= 255 )並將圖像儲存至一個新圖像檔案中 。


二、使用環境:

作業系統 : windows10

編譯軟體: spyder 3.3.6

使用語言: python/opencv 4.1.2


三、方法:

1. imread讀取圖片

2. 使用者輸入v值

3. 將img的numpy資料用astype轉成16bit的int

4. 根據v的正負,用 np.where(img+v>255,255,img+v) 或是  np.where(img+v<0,0,img+v) 改動值

5. 將img的numpy資料用astype轉回uint8

6. imwrite存圖片


四、執行結果:

原圖:



v = 100



v =  -100



s1071504影像處理作業1

 一、作業說明:

撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值 v

(-255 <= v <= 255 )並將圖像儲存至一個新圖像檔案中 。


二、使用環境:

作業系統 : windows10

編譯軟體: visual studio 2017

使用語言: C++/opencv 4.5.1版本


三、實作方法:

1.用imread的方式把圖片讀取進來

2.讓使用者輸入v值

3.用兩個for迴圈範圍分別是圖片的row跟col並且使用at取出圖片的RGB值加上輸入的V值做修改,還要加上saturate_cast <uchar>保護圖片的顏色不會溢出超過範圍。

4.最後用imwrite把圖片寫檔成新的檔案。


四、執行結果:

V值設成-100的結果/原圖








V值設成+100的結果/原圖







2021年2月26日 星期五

s1073317 影像處理作業1

一﹑作業說明:

作業一要我們撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值 v (-255 <= v <= 255),並將圖像儲存至一個新圖像檔案中。


二﹑使用環境:

OSWin10

編譯器:VS2017

語言:C++OPENCV 4.5.1

 

三﹑實作方法:

1.     讀取圖片

2.     用三層的for迴圈調整col/row/channel對應的每個點的值,使用saturate_cast function保護每點的值不超過0~255的區間

3.     用視窗呈現結果

4.     儲存照片

 

四﹑執行結果:

原圖

+90



-90



s1071531 影像處理作業1

 題目:

調整圖像之亮度

執行環境:

  • Arch Linux x86_64
  • Python 3.9.1
  • Python venv
  • OpenCV 4.5.1

實作方式:

用imread讀取圖片
使用numpy造一個相同大小矩陣

若v正數則用add
負數則用subtract abs

最後imwrite即可

執行結果:

由上而下為 原圖 暗版(v=-50) 亮版(v=50)






參考資料:


圖片來源:


自行轉jpg



s1071532 影像處理作業1

圖像亮度調整

        撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值 v (-255 <= v <= 255),並將圖像儲存至一個新圖像檔案中。

程式語言:C++


開發環境:

  • Windows 10
  • Visual Studio 2019
  • OpenCV 4.2.0


實作方法:


        使用 imread 把圖片讀進來,再把圖片的每個 pixel 加上 v 並確保介於 0 到 255 之間,使用 imwrite 存成圖片。


原圖


變暗(v = -100)


變亮(v = 100)



圖片來源:


1071534 影像處理作業 1

影像處理概論作業1


作業題目:

        撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值 v (-255 <= v <= 255),並將圖像儲存至一個新圖像檔案中。


使用環境:

  • Window 10 
  • anaconda Spyder 
  • OpenCV 4.0.1


實作方法:

        使用cv2.imread讀取圖片,接著使用cv2.split將圖片的R,G,B三個陣列分離,將三個陣列內的所有值加上v(使用者輸入的數值),再使用cv2.merge合成新的圖片,最後使用cv2.imwrite儲存更改過後的檔案。

執行結果(原圖,調亮,調暗):




s1070931 影像處理作業1

 

一、作業說明:

        圖像亮度調整

撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值v(0<=v <=255),並將圖像儲存至一個新圖像檔案中。

二、使用環境:

        - Windows 10

        - Visual Studio 2019 16.8.2(C++)

        - OpenCV4.5.0

        三、程式流程:

  1. 建立一個Mat物件img1,經由imread()讀檔,resize()調整大小
  2. 建立Mat物件img1_darkenimg1_brighten,並使用img1的尺寸初始化
  3. 輸入v,介於0~255之間
  4. img1每一個像素的值分別減去v存進img1_darken與加上v存進img1_brighten
  5. 使用 nameWindow()建立視窗,並使用imshow()Mat矩陣物件顯示出來

四、作業成果:


  以上是當v=150時,顯示出的圖片。由左至右分別為 (減去v)、正常、亮(加上v)