2021年6月6日 星期日

s1073804 影像處理作業6

 1. 作業題目:Run-Length Based Image Compression

    請設計一個基於Run-Length的壓縮方法,對圖檔作無失真壓縮後儲存成新檔案。

2. 開發環境&語言:

  • macOS Big Sur 11.2.3
  • Visual Studio Studio 2019
  • OpenCV - 4.5.1
  • python 3.9.4
  • numpy-1.20.1
3. 說明:
  1. 讀取:imread('bmp檔') 
  2. 取出width, height, size
  3. 透過cv2.spilt( ) 得到 (B, G, R ) 三通道
  4. 再reshape成一維陣列
  5. R,G,B 各個都要用RLE的方式去壓縮
  6. 再用np.concatenate( )去合併RLE壓縮完的R,G,B
  7. 再寫入img_.bmp.學號的空白檔案裡
  8. 用本來寫RLE的方式倒回去寫
  9. 再創一個2維陣列填入
  10. 再以img_.學號.bmp的檔名輸出
4.輸出:
    
                                              壓縮率:14665254/3412083=3.85311036
                            

壓縮率:14665254/6672178=2.19797104


                                            壓縮率:14665254/3412083=4.29803554


                           平均壓縮率:(3.85311036+2.197971044.29803554) / 3 ≈ 3.45




沒有留言:

張貼留言