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

2022年6月6日 星期一

s1071608 作業7

 

作業說明

請撰寫一個程式,利用數學形態學影像處理運算(erode()dilate()等函式),計算出所附圖像中圍棋個數。

a.請在部落格呈現經由數學形態學影像處理運算後的圖像,同時要呈現你程式輸出棋子數量的螢幕截圖

b.程式不一定可以算出正確棋子數量,越接近正確答案越好。

開發環境

    Windows 10

    Python 3.9.7

    OpenCV 4.5.5

程式流程

1.  imread讀取圖片

2.  轉灰階、erodedilate並使用二質化去處理圖片

3.  使用HoughCircles計算。

4.  畫出偵測到的圓。

執行結果



IMG_5702:(24/24)



IMG_5703:(31/31)



IMG_5704:(28/31)



2022年5月31日 星期二

s1071608 作業6

  一、作業說明

    請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。
    並計算三張圖的平均壓縮率(compression ratio)。

二、開發環境

    Windows 10
    Python 3.9.7
    OpenCV 4.5.5

三、實作方法
    1.讀取圖片,讀取長寬、各pixel值
    2.將BGR切分,並壓縮成一維陣列,進行RLE。
    3.處理完的結果存成壓縮檔
    4.計算各壓縮率及壓縮平均率

四、執行結果
    










2022年5月11日 星期三

s1071608 作業5

 

1. 作業說明:

撰寫一個程式將所附圖像flower.jpg的黃色花瓣區域擷顯示出來。
2. 使用環境:
  • window 10
  • pycharm
  • python

3. 實作方法:

1. imread讀取原圖
2. 將圖像轉換為HSV的色彩空間
3. 設定黃色的lower_bound、upper_bound
4.用cv2中的inRange做mask
5. bitwise_and()做原圖與mask部分

4.執行結果:



原圖

結果



2022年4月12日 星期二

s1071608 作業4

 1.作業說明

(1) 計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階256色圖像方式呈現出。

(2) 對圖像利用Gaussian Low-Pass filter處理,輸出平滑後圖像。

2.環境

    window 10

    python 3.7

    opecv 4.5.5

3.實作

(a)(1)讀取圖片,轉為灰階

    (2)取出長寬,zero padding成圖(2)

    (3)使用np的fft.fft2並取絕對值+log得到頻譜大小

    (4)算相位角度

(b)GaussianBlurx來生成平滑後圖片















2022年3月14日 星期一

s1071608 作業3

 作業說明

     撰寫一個程式,以灰階模式讀取一張圖像 imread(path, IMREAD_GRAYSCALE) (a)利用 Sobel Operators 偵測並輸出邊緣成分圖 (b)設計一個類似素描線條的自畫像圖案。

開發環境:

    window 10

    python 3.7

    opecv 4.5.5

程式流程:

 (a)

1.將讀取的圖片透過cv.cvtColor轉為灰階

2.使用Sobel函數分別對x、y做邊緣檢測

3.利用convertScaleAbs轉回unit8

(b)

1.與上述1-3步驟相同

2.再透過threshold即可

執行結果:

(a)

(b)


2022年3月5日 星期六

s1071608 作業2

作業說明

     撰寫一個程式將一張圖像的(a)整張圖像,(b)中心內切圓區域,旋轉一個角度(逆時針旋 轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。

開發環境:

    window 10

    python 3.7

    opecv 4.5.5

程式流程:

 1.讀取圖片長、寬,找尋中心點。利用trackbar拖動旋轉角度,利用旋轉矩陣旋轉圖片,getTrackbarPos要用while迴圈包住,不斷的取得最新的值,並在while迴圈中show出圖片。

2.讀取圖片長、寬,找尋中心點。利用trackbar拖動旋轉角度,利用旋轉矩陣旋轉圖片,getTrackbarPos要用while迴圈包住,不斷的取得最新的值,並在while迴圈中show出圖片。

執行結果:






2022年2月24日 星期四

s1071608 作業1

  - 作業說明

        撰寫一個程式讀取一張圖片,將圖像中每一個點像素的值各加上一個數值。如果輸入 圖像是灰階圖像,改變每個像素的灰階值;如果輸入圖像是全彩圖像(RGB),則只改變 每個像素的 R 值。 


開發環境:

    window 10

    python 3.7

    opecv 4.5.5

程式流程:

    輸入圖片,判斷是否為灰階圖

    case1:

        灰階圖,輸入調整明暗度的數值

    case2:

        BGR圖,輸入調整R值之數值

            若大於255,則設定為255

             若小於0,則設於0

 執行結果:

                                            

    左(原圖)、右(+100)
 

 左(原圖)、右(-100)

    左(原圖)、右(R值+100)


 左(原圖)、右(R值-100)