發表文章

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

s1091438 作業6

圖片
  Run-Length Based Image Compression 練習 一、題目說明         附件中為三張利用將晶片高度以色彩視覺化後的圖片。 請設計一個基於 Run-Length 的壓縮法           方,對圖檔作無失真壓縮後儲存成新檔案。 部落格上應敘述你的壓縮方法,提供壓縮檔之格式,           並計算三張圖的平均壓縮率(compression ratio)。 二、開發環境         OS : Windows 11         Editor : Visual Studio Code         Language : Python         Package : OpenCV - 4.7.0 三、使用Function說明 & 步驟        (a) 定義 Run-Length Function              1 . 思路                 假設,有一個數據 序列 [1, 1, 1, 2, 2, 3, 4, 4, 4, 4] ,將它用 RLE 進行 壓縮 。 壓縮後 的結果為                     [(1, 3), (2, 2), (3, 1), (4, 4)] ,表示原始數據序列中有 3 個連續的 1,2 個連續的 2,1 個 3,                     以...

s1091438 作業5

圖片
  膚色偵測 Skin Color Detection 一、題目說明           利用你所學的 顏色(Color)的知識與技術,撰寫一個程式來偵測一張輸入照片中的皮膚區域並將           其標示出。(請用附件中的三張照片做測試)           Write a program that detect skin color from an image. 二、開發環境         OS : Windows 11         Editor : Visual Studio Code         Language : Python         Package : OpenCV - 4.7.0 三、使用Function說明 & 步驟                1 .  imread()   :  從檔案中讀取一張 灰階 圖像               2 .  resize()   : 調整圖片大小                3 .  cvtColor()   :  將(1)獲得的灰階圖, BGR轉換為HSV               4 .  np.array() : 用來 定義 皮膚區域 在HSV色域中的範圍                 H :...

s1091438 作業4

圖片
   影像還原練習 一、題目說明           附件中的 image4 似乎受到某種頻域雜訊干擾,           撰寫一個程式嘗試復原此圖像(將圖中雜訊去除)。 二、開發環境         OS : Windows 11         Editor : Visual Studio Code         Language : Python         Package : OpenCV - 4.7.0 三、使用Function說明          (a) 原圖                1 .  imread()   :  從檔案中讀取一張 灰階 圖像        (b) 傅立葉              1 .  cv2.dft() :  傅立葉轉換, 將圖像轉由 時域換為頻域              2.   np.fft.fftshift() :  將傅立葉轉換後的 頻譜中心移至圖像中心位置 ,便於觀察             3.  cv2.magnitude() :  計算向量的長度(幅度),用於計算傅立葉變換的實部和虛部之間的歐幾                 里得距離(兩點之間的直線距離),進而得到每個頻率的振幅值 ...

s1091438 作業3

圖片
  主題 離散傅立葉轉換 DFT練習 一、題目說明           撰寫傅利葉轉換程式(Forward Fourier Transform and Inverse Fourier Transform)將一張圖           像轉換至頻域後,將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出,再呈現還原後圖像。 二、開發環境         OS : Windows 11         Editor : Visual Studio Code         Language : Python         Package : OpenCV - 4.7.0 三、使用Function說明          (a) 原圖                1 .  imread()   : 從檔案中讀取一張 灰階 圖像        (b) 傅立葉              1 . cv2.dft() :  傅立葉轉換, 將圖像轉由 時域換為頻域              2. np.fft.fftshift() : 將傅立葉轉換後的 頻譜中心移至圖像中心位置 ,便於觀察               3. cv2.magnitude () :   計算向量的長度(幅度),用於計算傅立葉變換的實部和虛部之間的歐幾       ...

s1091438 作業2

圖片
主題 線條自畫像 (二值化與邊緣檢測 Image Thresholding and Edge Detection) 一、題目說明           撰寫一個程式,以灰階模式讀取一張圖像 imread(path, IMREAD_GRAYSCALE)           (a)利用Sobel Operators 偵測並輸出邊緣成分圖           (b)設計一個類似素描線條的自畫像圖案。                (想想:如何使用邊緣偵測所得到的點,結合成看似素描筆畫出的線條?) 二、開發環境         OS : Windows 11         Editor : Visual Studio Code         Language : Python         Package : OpenCV - 4.7.0 三、使用Function說明         (a)邊緣成分圖                1. GuassianBlur() : 將灰度圖片進行高斯模糊,以減少影像噪聲                2. Sobel () : 用於在圖中檢測邊緣,可以檢測出圖中每個像素的梯度大小和方向                     (1) 分別對原圖的水平(x)和垂直(y)方向進行Sobel(),找出x、y方向的梯度      ...

s1091438 作業1

圖片
  主題 圖像旋轉 (Image Rotation) 一、題目說明                 撰寫一個程式將一張圖像的 (a)整張圖像 (b)中心內切圓區域                旋轉一個角度(逆時針旋轉0度至359度)利用滑動條(trackbar)控制旋轉角度。 二、開發環境                OS : Windows 11                Editor : Visual Studio Code                Language : Python                Package : OpenCV - 4.7.0 三、程式碼說明            (1) Trackbar                 cv2.createTrackbar() :  創造Trackbar,並設定Trackbar的範圍(0~359)                 cv2.setTrackbarPos() : 設定Trackbar的初始值                    透過47~51行,分別為 (a) 整張圖像 (b) 中心內切圓區域旋轉的視窗各創立一個Track...