2021年6月7日 星期一
2021年6月6日 星期日
s1071534 影像處理作業6
一、作業說明
附件中為三張利用將高度以色彩視覺化後的圖片。
請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)。
二、作業環境
● Windows 10
● Python 3.6
● opencv 4.2.0
三、實作方法
Compress
1.讀入圖片(.bmp)
2.將圖片的BGR分別提取成三個陣列
3.將每個陣列展開成一維(為了加速處理時間)
4.對每個陣列做run length壓縮資料提取
5.將壓縮資料合併,且加上檔案頭(圖片長度,圖片寬度,BGR個別的資料個數)
6.寫出壓縮檔(.omniMan)
Decompress
1.讀入壓縮檔案(.omniMan)
2.讀取檔案頭
3.依照表頭的資料讀取BGR的資料
4.依照壓縮資料重新組成原圖片
5.輸出圖片
四、執行結果
2021年5月17日 星期一
S1071534 影像處理作業5
作業說明:
附件中的讀.row晶片設計的高度檔案,設計人員無法直接看到相關資訊。利用你所學的Color顏色的知識與處理技術,撰寫一個程式來讀取附件中的讀.row 檔案,將高度資料以圖片(顏色)視覺化呈現出來,讓設計人員可以看到高度相關資訊。
執行環境:
- Windows10
- Python 3.6
- OpenCV 4.5.1
實作方式:
- step 1 : 讀取檔案
- step 2 : 解封Header
- step 3 : 利用Header的長和寬讀取後續pixel
- step 4 : 取得最大值級最小值(去除-99999)
- step 5 : 將資料標準化至 0 to 120,並將-99999的位置設為黑色(代表HSV的H)
- step 7 : 合成hsv
- step 8 : 將HSV的資料轉成BGR
- step 9 : Show images
執行結果:
依序為 02.raw 08.raw 10.raw
最高值紅色 最低藍色
2021年5月16日 星期日
S1071534 影像處理作業4
一、作業說明
利用你所學的Color顏色的知識與技術,撰寫一個程式來偵測一張輸入照片中的皮膚區域並將其標示出。
二、作業環境
● Windows 10
● Python 3.6.13
● opencv 3.4.2
三、實作過程
一開始使用Proposed Skin Detection Algorithm實作:
其閥值公式為:
執行步驟:
1.將圖片讀取並轉換為HSV與BGR分量,在依照公式做閥值的過濾:
此方法只對HSV做限制:
2021年5月2日 星期日
s1071534 影像處理作業3
s1071534 影像處理作業3
一、作業說明
請撰寫一個程式,讀取一張 256 色灰階圖像。
(1)計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階 256 色圖像 方式呈現出。
(2)對圖像利用 Gaussian Low-Pass filter 處理,輸出平滑後圖像。(程式利用課本的 frequency filter 步驟者可得滿分!)
二、作業環境
● Windows 10
● Python 3.6
● opencv 3.4.2
● numpy 1.19.5
● matplotlib 3.3.4
三、實作方法
1.讀取圖片並將其轉為灰階(圖一)
2.將圖片padding成兩倍長兩倍寬(圖二)
3.將圖片乘上(-1)^(x+y)。(圖三)
4.使用np.angle()取得相位 (圖四)
5.使用cv2.dft、cv2.magnitude、np.log取得頻譜圖,並將數值轉換至0到255(圖五)
7.將頻譜圖與高斯低通濾波器相乘(圖六)
8.對過濾後的頻譜作反傅立葉
9.對反傅立葉結果的實數部分乘上(-1)^(x+y),取得結果片圖。(圖七)
10.去除圖片的Padding。(圖八)
2021年3月26日 星期五
s1071534 影像處理作業 2
作業說明 :
撰寫一個程式,讀取一張 256 色灰階圖像或 RGB 全彩圖像(.bmp 或.jpg 圖像格式都可, 如全彩圖像可先將圖片由 RGB 轉換至灰階影像),利用 Sobel Operators 圖像邊緣為基 礎,設計一個類似素描線條自畫像程式。(如果可以分析邊緣偵測所得到的點,結合成 線條方式呈現更佳!)
使用環境:
- window 10
- anaconda Spyder
- numpy 1.18.5
- OpenCV 4.0.1
方法:
1.將圖片轉成灰階圖片
2.使用高斯矩陣將圖片模糊化
3.使用Canny演算法 找出邊緣
Canny演算法步驟:
1.透過Sobel濾波器濾出邊緣的強度及方向
2.尋找最大梯度方向 確認實際邊緣點位置
3.設定最大及最小閥值用來將相鄰的邊緣點連成線
執行結果:
原始圖片
轉成灰階
高斯模糊化
Canny演算法呈現結果
2021年2月26日 星期五
訂閱:
文章 (Atom)




















