作業說明
2021年6月14日 星期一
2021年6月6日 星期日
s1062036 影像處理作業6
作業說明:
附件中為三張利用將高度以色彩視覺化後的圖片。請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。
部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)。
操作環境:
window10
python 3.6
pycharm
openCV 4.5.2.52
程式說明:
Encoding:
1.imread()讀取圖片
2.split()切成rgb通道
3.flatten()將rgb轉成1D
array
4.利用Run-Length編碼
5.分別將rgb的list串接起來且前五項存起來
6.輸出list成img_compress.2036
Decoding:
1.open()讀取.2036
2.將rgb資訊分別存入list
3.利用Run-Length的方式解碼
4.np.array()將list轉成array並改為uint8
5.reshape()將array轉成(height,
width, channel)
6.merge()將rgb合併成img
7.imwrite()輸出
執行結果:
壓縮率:8,074,099/14,665,254=0.55
壓縮率:7,488,796/14,665,254=0.51
2021年5月24日 星期一
s1062036 影像處理作業5
作業說明:
附件中的讀.row晶片設計的高度檔案,設計人員無法直接看到相關資訊。利用你所學的Color顏色的知識與處理技術,撰寫 個程式來讀取附件中的讀.row 檔案,將高度資料以圖片(顏色)視覺化呈現出來,讓設計人員可以看到高度相關資訊。
開發環境:
Window10
pycharm
Python3.6
pycharm
Python3.6
OpenCV 4.5.2
程式說明:
1.用open()讀取圖片
2.unpack 取得 width , height ,channel
3.每4byte unpack後存入list
4.找出list的min(list中第二小的值), max值
5.將list改成array 再 reshape() 轉成圖片的格式
6.applyColorMap()轉成對應的顏色
7.輸出圖片
執行結果:
2021年5月14日 星期五
s1062036 影像處理作業4
作業說明
利用你所學的Color顏色的知識與技術,撰寫一個程式來偵測一張輸入照片中的皮膚區域並將其標示出。
開發環境
Window10
Visual Studio 2019
C++
OpenCV 4.5.1
程式說明
1. 讀取圖片
2. 讀去圖片的rgb
3. 將rgb轉成 y cr cb
4. 將cr做otsu
5. 判斷 y cr cb是否在膚色範圍內
執行結果
2021年5月2日 星期日
s1062036 影像處理作業3
作業說明
撰寫一個程式,讀取一張 256 色灰階圖像。
(1)計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階 256 色圖像 方式呈現出。
(2)對圖像利用 Gaussian Low-Pass filter 處理,輸出平滑後圖像。(程式利用課本的 frequency filter 步驟者可得滿分!
開發環境
Window10
Visual Studio 2019
C++
OpenCV 4.5.1
程式說明
1. 將圖片讀入轉成灰階
2. getOptimalDFTSize 取得進行dft的最優尺寸
3. gaussianKernel來進行高斯低通濾波器
4. freqfilt來進行頻率域濾波
5. freqfilt裡面用merge合併通道、dft進行傅立葉轉換、split來分離通道、移動圖像(分離或交換合併虛部實部)
6. phase取得相位圖
執行結果
2021年3月25日 星期四
s1062036 影像處理作業 2
作業說明:
撰寫一個程式,讀取一張 256 色灰階圖像或 RGB 全彩圖像(.bmp 或.jpg 圖像格式都可,
如全彩圖像可先將圖片由 RGB 轉換至灰階影像),利用 Sobel Operators 圖像邊緣為基
礎,設計一個類似素描線條自畫像程式。
操作環境:
Windows 10
Visual Studio 2017 + OpenCV4.1.0 (Debug x64) , C++
程式說明:
- 使用imread讀取圖片
- 將圖片轉為灰階
- 透過Sobel函式處理圖片的x方向和y方向
- 使用convertScaleAbs增強圖片
- 將Sobel處理後的x方向與y方向的結果使用addWeighted給予x軸與y軸各0.5的權重,將兩個方向結合。
- 將圖片進行黑白反轉,以255-每個像素值。
- imshow顯示結果。
- imwrite 儲存結果。
處理結果:
2021年3月5日 星期五
s1062036 影像處理作業 1
作業題目:
撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值 v
(-255 <= v <= 255),並將圖像儲存至一個新圖像檔案中。
使用環境:
Windows 10
Visual Studio 2017 + OpenCV4.1.0 (Debug x64) , C++
實作方法:
1. 用imread讀圖
2. imshow顯示目前圖片
3. 使用者輸入數值
4. 更改BRG並判斷有沒有溢位
5. imshow顯示調整後的圖片
6. imwrite存檔
執行結果
原圖
v=-100
訂閱:
文章 (Atom)














