1. 作業題目:Color Visualization of Depth Information
2021年6月13日 星期日
2021年6月7日 星期一
2021年6月6日 星期日
s1073341 影像處理作業6
一、作業說明
附件中為三張利用將高度以色彩視覺化後的圖片。請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)。
二、作業環境&語言
Windows 10
OpenCV
c++
三、
實作方法使用cv2.imread() 和cv2.cvtColor()
讀取原始圖片 建立輸出檔案.rle
依序寫入圖片的高、寬、channel數量
對圖片的RGB三個channel分別進行Run Length 壓縮,壓縮的同時寫入pixel值以及連續的數量,值的大小為1個byte,數量的大小為4個bytes
將header的資訊個別讀出來
將三通道的run length 結果讀出來
將 bytes 轉回 int
將run length encoding 轉回 1維陣列
reshape 回圖片長寬
將b, g, r三通道合併成最後的結果
2021年5月23日 星期日
s1073341 影像處理作業 5
作業內容:
附件中的讀.row晶片設計的高度檔案,設計人員無法直接看到相關資訊。利用你所學的Color顏色的知識與處理技術,撰寫一個程式來讀取附件中的讀.row 檔案,將高度資料以圖片(顏色)視覺化呈現出來,讓設計人員可以看到高度相關資訊。
Coding環境:
l Python 3.9.1
l OpenCV 4.5.1
程式說明:
使用struct.unpack() 做binary檔案的讀取,分別切開header跟data
使用np.interp() 將資料線性插值為0~1
使用np.reshape()將data排成影像的格式
使用matplotlib設定cmap = ’rainbow ‘
處理結果: