2021年2月26日 星期五

s1063514 影像處理作業1

影像處理概論作業1


作業題目:

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


使用環境:

  • Linux version 4.15.0
  • Python 3.6.9
  • opencv-python 4.5.1.48
  • numpy 1.19.15


實作方法:

        透過cv2.imread將圖片讀入,並且透過cv2.resize 固定圖片大小為400*400使用,以便呈現,簡單將讀入的影像值 以每個值+50將其增亮,也將每個值-50使其變暗,並且控制範圍在0~255之間,避免溢位問題,將它以單一圖片呈現包含從左到右 原圖 > 變黑 > 變亮


執行結果:





資料來源:

        圖片來源:https://www.pixiv.net/artworks/87811736

s1073342 影像處理作業 1

  • 作業題目:
    • 圖像亮度調整
      撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值
      v( -255 ≦ v ≦ 255 ),並將圖像儲存至一個新圖像檔案中。
  • 使用環境:
    • window 10
    • python 3.9.2
    • numpy 1.20.1
    • opencv-python 4.5.1.48
  • 程式功能:
    • 輸入要轉換的檔案名稱,把檔案和程式放在相同資料夾下,輸入檔案名稱與要轉換的程度(v),輸出一張名稱為 edit_原檔案名稱 的圖片。
  • 程式碼相關資訊:
    • 使用time函式庫計算轉換所花費時間
    • 曾經使用for來改值,非常慢,所以已經廢棄,目前使用矩陣運算
  • 執行結果:
使用4K圖片進行運算

執行時間為0.24秒


參考資料:
圖片來源:https://wallpaperaccess.com/3840-x-2160-nature#453757




1071222 影像處理作業1


  • 作業說明
            讓程式讀入已經在google雲端存放的照片,並將照片作調亮(每一像素+100)、調暗(每一               像素-100)

  • 程式環境
    1. colab
    2. python3
    3. OpenCV版本:4.1.2
  • 程式說明
            用gdown下載照片,再使用imread放入,並做調亮調暗且讓像素質介於0~255,最後以
      imshow顯示
  • 實作
        調亮


        調暗




               

1071521 影像處理作業1



作業說明

圖像亮度調整

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

作業環境

OS: linux ubuntu18.04
c++ version: c++11
using opencv4.5.1 (check by terminal command "pkg-config --modversion opencv ")
compile command :
    "g++ 1071521_HW1.cpp -o 1071521_HW1 -std=c++11 `pkg-config --cflags --libs opencv`"

程式說明

引入namespace底下的cv
imread("IMG.jpg");用以讀圖,分別調整+100以及-100,且限制範圍在0~255之間.
最後使用hconcat(src, img, src);作before&after,imshow("1071521-hw1", src);作輸出.

+100                                                                   -100




2021年2月25日 星期四

1071242 影像處理作業1

 

1.作業說明

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

2.操作環境

python3.8 
openCV 4.5.1
windows 10

3.程式說明

用numpy函式庫 
imread讀取一張圖,將圖片亮度調成+100和-100,np.clip使得範圍不會超過0~255,用三個視窗顯示出來(imshow)

4.實作結果

原圖                       調-100                  調+100














1051418 影像處理作業1

l   作業說明:

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


l   使用環境/語言:

n   Windows10

n   Visual Studio 2015

n   Opencv-3.4.1

n   C++


l   特殊程式片段註解/實作方法:

n   在計算像素值使用saturate_cast<>()來防止計算出來的圖像像素值溢出。

n   一維線性變換:x’= alpha * x + beta本程式調整"beta"去進行亮度增減之功能,alpha訂為1

n   使用Mat::zeros(),新建立一個與原檔HWC大小相同的圖像,且用0充滿通道。

n   imread()使用CV_LOAD_IMAGE_UNCHANGED作為參數,保留原圖格式。

n   imwrite()儲存新圖片。


l   執行方式/畫面:

l   參考資料:

n   http://shichaoxin.com/2020/01/07/OpenCV%E5%9F%BA%E7%A1%80-%E7%AC%AC%E4%B8%83%E8%AF%BE-%E8%B0%83%E6%95%B4%E5%9B%BE%E5%83%8F%E4%BA%AE%E5%BA%A6%E4%B8%8E%E5%AF%B9%E6%AF%94%E5%BA%A6/

n   https://blog.csdn.net/wc781708249/article/details/78448280

2020年7月2日 星期四

1061538 影像處理作業2


題目:
撰寫一個程式,讀取作業所附 2 張測試圖片,(1)設計一個二值化方法將其轉變成黑白圖像後,(2)繪出 QR code 黑色模組的外框(可利用 Sobel Operators 偵測即可)

環境:
Python
Opencv

作法:
1.先將圖片讀成灰階圖
2.接著進行二值化(經過測試100~255的範圍較清楚)
3.opencv函式庫的canny進行邊緣偵測

成果: