2019年3月18日 星期一

1051549 作業1


一、題目


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

二、環境需求

  • windows10
  • python 3.7
  • opencv 3.4
  • numpy 1.15.1

三、演算法解說

 根據公式
  g(i,j)=αf(i,j)+β ,α是對比值,β是亮度
可以調整圖像的每一點的亮度與對比度。

  • 用addWeighted矩陣相加,做上述的公式運算,調整圖像的亮度以及對比度,並避免數值溢位。
  • hstack函式,水平疊加原圖跟調整過的圖,讓圖像有比較的對象
  • resizeWindow修改視窗大小,讓兩張圖可以無損的丟進來。
  • createTrackbar產生一個UI拉桿條,控制數值時,會呼叫修改的函式,可以邊拉數值,邊看結果,但是數值最低只能到0,所以只能多建立一個控制負數的亮度值。
  • imwrite將修改完的圖片儲存在當前路徑裡,檔名需要加上.jpg、.png等等圖片格式。

四、運行畫面


選擇圖源,(1)使用者可以從資料夾拉圖片進來,(2)系統配置好的圖檔。















選擇亮度-255~255
選擇對比度,以100為基準,0~100(-2.0~0),100~200(0~2.0)
原圖(左),調整後的圖(右)
亮度:-236,對比度198(1.96)










原圖(左),調整後的圖(右)
亮度:99,對比度182(1.64)















載入灰階圖
原圖(左),調整後的圖(右)
亮度:-211,對比度182(1.64)











原圖(左),調整後的圖(右)
亮度:207,對比度133(0.66)






















按esc離開程式,將修改完的圖片儲存在當前資料夾內


沒有留言:

張貼留言