1. 作業說明:
2022年6月7日 星期二
2022年6月1日 星期三
s1081534 作業6
1. 作業說明:
- 設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案,並計算三張圖的平均壓縮率。
2.開發環境:
- Windows 10
- Visual Studio 2019
- OpenCV3.4.6
- C++
將讀入的圖片使用split()把三個channel分離並存入vector
將分離出的三個cahnnel從二維降成一維,也將其分別存入不同vector
對每個一維的陣列個別做Run-length encoding
最後輸出到同一個dat檔中,將每一個 channel的資訊分別做區隔
第二部分將壓縮後的檔案在解壓縮
讀入dat檔,將每個channel個別存取
Mat一張新的圖片並讀取的資訊填入每個pixel得到無失真的影像
用resize()去調整輸出圖片的大小
最後分別去計算壓縮率(原圖大小/壓縮檔大小)和平均壓縮率
2022年5月18日 星期三
s1081534 作業5
1. 作業說明:
- 撰寫一個程式將所附圖像flower.jpg的黃色花瓣區域擷顯示出來。
2.開發環境:
- Windows 10
- Visual Studio 2019
- OpenCV3.4.6
- C++
- 輸入圖片名稱
- 將圖片以RGB的形式讀取進去
- 用公式將RGB的圖轉成HSI的圖
- 設定偵測黃色的區域
- 使用inRange()將圖片二值化
- 用for迴圈將白色部分保留取得最後的結果
2022年4月14日 星期四
s1081534 作業4
1. 作業說明:
撰寫一個程式,讀取一張256色灰階圖像
(1)計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階256色圖像方式呈現出
(2)對圖像利用Gaussian Low-Pass filter處理,輸出平滑後圖像。
2.開發環境:
- Windows 10
- Visual Studio 2019
- OpenCV3.4.6
- C++
- 將圖片進行padding
- 傅立葉轉換後要存取實部和虛部的地方
- 用merge()合起來
- 進行傅立葉轉換dft()
- 用split()分離出實部和虛部
- 使用magnitude()和phase()算出頻譜圖和象位角
- 用filter與前面傅立葉轉換的結果相乘再用idft()取逆傅立葉轉換
- 以magnitude()和normalize()得到結果
filter:
2022年3月23日 星期三
s1081534 作業3
1. 作業說明:
撰寫一個程式,以灰階模式讀取一張圖像(a)利用 Sobel Operators 偵測並輸出邊緣成分圖
(b)設計一個類似素描線條的自畫像圖案。
2.開發環境:
- Windows 10
- Visual Studio 2019
- OpenCV3.4.6
- C++
3.實作方法
- 輸入圖片路徑或名稱
- 使用imread(path, IMREAD_GRAYSCALE)以灰階模式讀取一張圖
- 透過GaussianBlur將圖片模糊處理、去除雜訊
- 透過Sobel operator計算出x,y方向梯度
- 透過addweight合併兩個方向梯度得到邊緣成分圖
- 將照片透過threshold(b, c, 55, 255, THRESH_BINARY_INV);二值化 且在高斯模糊一次得到素描圖
2022年3月9日 星期三
s1081534 作業二
1. 作業說明:
撰寫一個程式將一張圖像的(a)整張圖像,(b)中心內切圓區域,旋轉一個角度(逆時針旋 轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。
2.開發環境:
- Windows 10
- Visual Studio 2019
- OpenCV3.4.6
- C++
3.實作方法
- 輸入圖片路徑或名稱
- 做出一個 trackbar
- 判斷圖片的長短邊
- 找出它的內切圓
- 分別產生出三種圖片
- 原圖 ,切出來的圓(用來檢查切出來的是否為圓)以及內切圓旋轉的圖片
4.執行結果
2022年2月23日 星期三
s1081534 作業1
1.作業說明:
撰寫一個程式讀取一張圖片,將圖像中每一個點像素的值各加上一個數值。如果輸入 圖像是灰階圖像,改變每個像素的灰階值;如果輸入圖像是全彩圖像(RGB),則只改變 每個像素的 R 值注意修改後像素值溢位 Overflow 問題(像素值介於 0 與 255 之間)。
2.開發環境:
- Windows 10
- Visual Studio 2019
- OpenCV3.4.6
- C++
3.實作方法:
(1)輸入圖片名稱或路徑,並用imread讀取圖片
(2)用channel數去判斷輸入的圖像是灰階圖像或者是全彩圖像
(灰階圖像channel數為1 ,全彩圖像則為3)
(3)如果是灰階圖像 調整其亮度
(4)如果是全彩圖像會判斷其RGB值是否相等,若三者有不同,調整他的R值
(5)輸入數字,並顯示結果
4.實作結果:
原圖
-100
+100
原圖
+100
-100