發表文章

目前顯示的是有「s1091536」標籤的文章

s1091536 作業6

圖片
  1.      題目說明: Run-Length Based Image Compression 練習 附件中為三張利用將晶片高度以色彩視覺化後的圖片。 請設計一個基於 Run-Length 的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。 部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率 (compression ratio) 。 2. 開發環境: OS: Windows 11 Editor: PyCharm Language: python 3.8 Package: OpenCV 4.7.0   3. 操作: “python .\hw6_1091536.py” 啟動程式。 將壓縮後的資料存成 .txt ,並產生解壓縮後的檔案 .bmp 程式依序輸出: 壓縮完成、壓縮完成、解壓縮成功 ( 是否與原始檔案相同 ) 壓縮前檔案大小、壓縮後檔案大小、壓縮率、資料減少量比率 剩餘資料量率  => =>   壓縮格式:(尺寸+三行數值) col,row, # B val, 次數,  val, 次數,  val, 次數,  val, 次數,  val, 次數,  val, 次數, ... # G val, 次數,  val, 次數,  val, 次數,  val, 次數,  val, 次數,  val, 次數, ... # R val, 次數,  val, 次數,  val, 次數,  val, 次數,  val, 次數,  val, 次數, ... 結果輸出: ------------------------- img1 ------------------------- img1 is encoding... Encoding done! Decoding done! Decode success! img1   size: Before:   14321.537109375 KB After...

s1091536 作業5

圖片
   1. 題目說明: 膚色偵測 Skin Color Detection 利用你所學的 顏色(Color)的知識與技術,撰寫一個程式來偵測一張輸入照片中的皮膚 區域並將其標示出。(請用附件中的三張照片做測試) Write a program that detect skin color from an image. 2. 開發環境: OS: Windows 11 Editor: PyCharm Language: python 3.8 Package: OpenCV 4.7.0   3. 操作: “python .\hw5_1091536_skin-dection.py” 啟動程式。 一次出現原始影像與皮膚範圍影像 再出現疊合影像       4. 方法及實作: (a) 概念 & 程式: 讀入影像 for i in range ( 1 , 5 ): img = cv2.imread( 'img' + str (i)+ '.jpg' ) 調整顯示大小 # original image cv2.namedWindow( 'img' + str (i) , cv2.WINDOW_NORMAL) cv2.resizeWindow( 'img' + str (i) , int (cols/mag) , int (rows/mag)) cv2.moveWindow( 'img' + str (i) , 400 , 0 ) cv2.imshow( 'img' + str (i) , img)           偵測皮膚 # detect skin hsv = cv2.cvtColor(img , cv2.COLOR_BGR2HSV) low = np.array([ 0 , 48 , 80 ]) upp = np.array([ 20 , 255 , 255 ]) mask = cv2.inRange(hsv , low , upp) res = cv2.bitwise_and(img , img , mask =mask)  

s1091536 作業4

圖片
  1. 題目說明: 附件中的 image4 似乎受到某種頻域雜訊干擾,撰寫一個程式嘗試復原此圖像 ( 將圖中雜 訊去除 ) 。 2. 開發環境: OS: Windows 11 Editor: PyCharm Language: python 3.8 Package: OpenCV 4.7.0   3. 操作: “python .\hw4_1091536_noise-remove.py” 啟動程式。 一次出現原始影像與還原影像 4. 方法及實作: (a) 概念: Step1.   計算輸入圖的離散傅立葉轉換結果 Step2.   將頻譜大小與相位角度個以灰階 256 色圖像方式呈現出 Step3.   對圖像進行 gaussian low pass filter 處理 使用子下兩條式子分別找到 D(u,v) 和 H(u,v) ,再使已進行傅立葉轉換的相位角圖與 H(u,v) 相乘進行 low pass 的濾波。 Step4.   對濾波完成的圖像反傅立葉轉換   (b) 程式:                                      Step0.   以灰階讀入影像 # Get image as gray img = cv2.imread( 'image4.png' ) img = cv2.cvtColor(img , cv2.COLOR_BGR2GRAY) Step1.           計算輸入圖的離散傅立葉轉換結果 # Opnecv2 傅立葉變換函數 # 需要將影象進行一次 float 轉換 dft = cv2.dft(np.float32(img) , flags = cv2.DFT_COMPLEX_OUTPUT) # 將...