顯示具有 s1061448 標籤的文章。 顯示所有文章
顯示具有 s1061448 標籤的文章。 顯示所有文章

2021年6月10日 星期四

s1061448 影像處理作業7

    一、作業題目: 

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

    二、開發環境: 

    作業系統:Windows 10 
    ide:pycharm,anaconda 4.4.0
    圖像處理:open-cv 4.4.0
    語言:python 3.6

     三、操作方法:

  1. 將圖像文件和程式碼處在同一文件目錄下 
  2. 等待程式輸出跑完以後,會輸出(print)每一張圖像處理後的結果

    四、實現方法:


    1. 以灰度讀入圖像檔案
    2. 將圖像做簡單地二值化
    3. 先erode來一定程度消除棋子內部的反光
    4. 再dilate,直到每個棋子變成離散的小黑點
    5. 逐行檢測,若檢測到黑色pixel,則計數加一,並將該pixel所在的黑色區塊全部變成灰色
    6. 輸出計數結果

    五、最終效果: 

     

    1. 原圖:
    處理後:
    計數結果:22

    2. 原圖
    處理後:
    計數結果:28

    3. 原圖:
        處理後:
    計數結果:31


2021年6月7日 星期一

s1061448 影像處理作業8

          一、作業題目: 

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

        二、開發環境: 

    作業系統:Windows 10 
    ide:pycharm,anaconda 4.4.0
    圖像處理:open-cv 4.4.0
    語言:python 3.6

        三、最終效果:

     

1. 原圖:



處理後:





2021年5月17日 星期一

s1061448 影像處理作業5

        一、作業題目: 

    附件中的讀.row晶片設計的高度檔案,設計人員無法直接看到相關資訊。利用你所學的Color顏色的知識與處理技術,撰寫一個程式來讀取附件中的讀.row 檔案,將高度資料以圖片(顏色)視覺化呈現出來,讓設計人員可以看到高度相關資訊。

        二、開發環境: 

    作業系統:Windows 10 
    ide:pycharm,anaconda 4.4.0
    圖像處理:open-cv 4.4.0
    語言:python 3.6

        三、操作方法:

  1. 將圖像文件example.raw和程式碼處在同一文件目錄下 
  2. 等待程式輸出跑完以後,會在該目錄下生成result.bmp

        四、實現方法:


    1. 讀入raw檔案

        本程式用numpy.fromfile讀入 

    2. 按照文件的固定格式對讀入資料分割

    3. 从raw資料得到width、height、channel,並將圖像還原為正常形狀的图像

    4. 按照圖像中數值的大小分配顏色,大的用紅色,小的用綠色

    5. 輸出result.bmp

    

五、最終效果: 

   1. 處理前:(raw的原圖像)
    處理後:

    2. 處理前:(raw的原圖像)
    3. 處理前:(raw的原圖像)
    處理後:



2021年5月16日 星期日

s1061448 影像處理作業4

        一、作業題目: 

    利用你所學的顏色的知識與技術,撰寫一個程式來偵測一張輸入照片中的皮膚區域並將其標示出。

        二、開發環境: 

    作業系統:Windows 10 
    ide:pycharm,anaconda 4.4.0
    圖像處理:open-cv 4.4.0
    語言:python 3.6

        三、操作方法:

  1. 將圖像文件example.jpg和程式碼處在同一文件目錄下 
  2. 等待程式輸出跑完以後,會在該目錄下生成result_hsv.jpg和result_yrb.jpg,即為處理過後的圖像,作為兩種不同處理方法的輸出

        四、實現方法:


    1. 讀入彩色圖片檔案

        本程式用opencv讀入灰度圖像 

    2. 將圖像轉化到HSV色彩空間

    3. 經估計皮膚的顏色範圍大致為 0<H<30,30<S<150,140<V<255將圖像數值不在此範圍內的像素點全部設置為(0,0,0)。

    4. 輸出result_hsv.jpg。

    5. 將圖像轉化到YCrCb色彩空間。

    6. 經估計皮膚的顏色範圍大致為 144<Cr<173,77<Cb<120將圖像數值不在此範圍內的像素點全部設置為(0,0,0)。

    4. 輸出result_yrb.jpg。

    

五、最終效果: 

    





2021年3月28日 星期日

s1061448 影像處理作業2

        一、作業題目: 

    撰寫一個程式,讀取一張 256 色灰階圖像或 RGB 全彩圖像(.bmp 或.jpg 圖像格式都可,如全彩圖像可先將圖片由 RGB 轉換至灰階影像),利用 Sobel Operators 圖像邊緣為基礎,設計一個類似素描線條自畫像程式。
 
        二、開發環境: 

    作業系統:Windows 10 
    ide:pycharm,anaconda 4.4.0
    圖像處理:open-cv 4.4.0
    語言:python 3.6

        三、操作方法:

  1. 將圖像文件和程式碼處在同一文件目錄下 
  2. 輸入圖像文件名 
  3. 等待程式輸出“Complete”以後,會在該目錄下生成result.png,即為處理過後的圖像

        四、實現方法:


    1. 讀入彩色圖片檔案

        本程式用opencv讀入rgb彩色圖像 

    2. 將圖片轉化為灰度圖像

        其中,每一個像素點的數值有公式 Gray = R*0.299 + G*0.587 + B*0.114 運算得到。

    3. 對圖片用Sobel Operators進行卷積操作

        Sobel Operators的卷積核為:

   X:    Y:

        用兩個卷積核分別對圖像進行卷及操作,獲得兩張圖像

        分別參考兩張圖像,對每一個相同坐標的像素點取最大值,生成一張合併後的圖像。

    4. 減少圖像雜訊

       將圖像反轉(像素值:反轉後 = 255 - 反轉前),原來處理後數值特別低的會接近255呈白色,而偵測出的額邊界則為黑色。

       反轉後,所有接近白色的像素點(像素值大於或等於225)全部設定為255

       完成後,圖像中還有很多零散的小黑點,為了除去這些雜訊,我檢查每一個像素點,如果其四周5X5的方格內,有不到10個點不是255,則被視為雜訊,設置其為255

    5. 輸出處理後圖像

    

五、最終效果: 



原圖像                          

Sobel處理(x)                

Sobel處理(y)                

結合兩次Sobel處理結果

黑白反轉                        

去除雜訊                         


2021年3月6日 星期六

s1061448 影像處理作業 1

一、作業題目: 

    圖像亮度調整 —— 撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值 (-255 <= v <= 255),並將圖像儲存至一個新圖像檔案中。 

二、開發環境: 
  •     作業系統:Windows 10 
  •     ide:pycharm,anaconda 4.4.0
  •     圖像處理:open-cv 4.4.0
  •     語言:python 3.6

        三、實現方法:

  1. 讀入圖片檔案
  2. 檢查圖像是彩色(rgb)的還是灰度圖像
  3. 對圖片的額每個像素(pixel)的R、G、B或者灰度數值都加上同一個自定義的整數
  4. 檢查是否有溢出,即<0或者>255, 若<0則設為0,若>255則設為255
  5. 輸出處理後圖像 

、操作方法:

    1. 將圖像文件和程式碼處在同一文件目錄下 
    2. 輸入圖像文件名 
    3. 輸入一個整數 
    4. 等待程式輸出“Complete”以後,會在該目錄下生成result.png,即為處理過後的圖像

    

五、最終效果: 


  •        原圖:
  • 輸入-100:
  •  輸入100: