2022年5月19日 星期四
2022年4月14日 星期四
s1071533 作業4
s1071533 作業3
作業說明
開發環境
- Windows 10
- Python 3.10.2
- OpenCV 4.5.5
- Numpy 1.22.2
- Matplotlib 3.5.1
執行指令
python dft.py 圖片名稱
參數功能
- [圖片名稱] 輸入圖片位置及名稱
實作流程
從參數讀取檔案名稱並且使用灰階方式讀入圖片,進行傅立葉轉換分別取出頻譜大小與相位角度數值並表示成灰階圖片,接下來產生Gaussian Low-Pass filter的函數,並乘以頻譜大小,接著做反向傅立葉轉換。
執行結果
2022年3月24日 星期四
s1071533 作業3
s1071533 作業3
作業說明
撰寫一個程式,以灰階模式讀取一張圖像 imread(path, IMREAD_GRAYSCALE) (a)利用 Sobel Operators 偵測並輸出邊緣成分圖 (b)設計一個類似素描線條的自畫像圖案。(想想:如何使用邊緣偵測所得到的點,結合 成看似素描筆畫出的線條?)
開發環境
- Windows 10
- Python 3.10.2
- OpenCV 4.5.5
- Numpy 1.22.2
執行指令
python edge_detection.py 圖片名稱
參數功能
- [圖片名稱] 輸入圖片位置及名稱
實作流程
從參數讀取檔案名稱並且使用灰階方式讀入圖片,再分別對垂直以及水平方向做Sobel Operators偵測,並將結果加總,再把得到的圖片黑白反轉便可以得到類似素描的圖片
執行結果
2022年3月10日 星期四
s1071533 作業2
s1071533 作業2
作業說明
撰寫一個程式將一張圖像的(a)整張圖像,(b)中心內切圓區域,旋轉一個角度(逆時針旋 轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。
開發環境
- Windows 10
- Python 3.10.2
- OpenCV 4.5.5
- Numpy 1.22.2
執行指令
python rotate.py 圖片名稱 -t [圖片旋轉方式]
參數功能
- [圖片名稱] 輸入圖片位置及名稱
- [圖片旋轉方式] 輸入A或B選擇圖片的旋轉方式,不輸入則為方式A
實作流程
從參數讀取檔案名稱並且載入圖片,判斷選擇圖片旋轉的方式,如果是圓形部分作旋轉則製作遮罩擷取出圓形部分以及剩下的部分,並且藉由拖拉條的數值計算出旋轉的矩陣,將旋轉矩陣成以圓形部分再結合剩下部分輸出;如果是整張旋轉就不需要擷取圖形直接旋轉。
執行結果
2022年2月24日 星期四
s1071533 作業1
s1071533 作業1
作業說明
撰寫一個程式讀取一張圖片,將圖像中每一個點像素的值各加上一個數值。如果輸入 圖像是灰階圖像,改變每個像素的灰階值;如果輸入圖像是全彩圖像(RGB),則只改變 每個像素的 R 值。 注意修改後像素值溢位 Overflow 問題(像素值介於 0 與 255 之間)。
開發環境
- Windows 10
- Python 3.10.2
- OpenCV 4.5.5
執行指令
python operate.py [圖片名稱] [特定數值]
參數功能
- [圖片名稱] 輸入檔案位置及名稱
- [特定數值] 輸入欲增加或減少的數值
實作流程
從參數讀取檔案名稱並且載入圖片,判斷是否為灰階,則判斷RGB數值是否相同,如果是灰階則建立一張新圖片且數值RGB都是從參數輸入的特定數值,如果不是建立一張新圖片只有像素R值是特定數值,最後將原本圖片加上或減去新建立的圖片,並且展示出來。