1 / 27

第四章 點處理

第四章 點處理. 4.1 導論 4.2 數學運算 4.3 直方圖(灰階值分佈圖) 4.4 查詢表格. 4.1 導論. 只要是影像處理運算就會轉換像素的灰階值。而影像處理運算可以按照進行時所需的資訊分成三個等級,複雜度由高到低可排列如下: 1. 轉換( transforms ) 2. 臨域處理( neighborhood processing ) 3. 點運算( point operations ). 4.2 數學運算. 點運算對影像中的每個像素灰階值會進行下列簡單的函數運算。 y = f(x)

jag
Download Presentation

第四章 點處理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第四章 點處理 4.1 導論 4.2 數學運算 4.3 直方圖(灰階值分佈圖) 4.4 查詢表格

  2. 4.1 導論 • 只要是影像處理運算就會轉換像素的灰階值。而影像處理運算可以按照進行時所需的資訊分成三個等級,複雜度由高到低可排列如下: • 1.轉換(transforms) • 2.臨域處理(neighborhood processing) • 3.點運算(point operations)

  3. 4.2 數學運算 點運算對影像中的每個像素灰階值會進行下列簡單的函數運算。 y=f(x) f(x)這個函數將0…255的輸入範圍映射至0…255的輸出範圍。簡單的函數運算包括對每個像素值加減或乘除某個常數: y=x ± C or y=Cx

  4. 磚塊影像範例 首先,先讀取影像… 第二個指令的重點在於找出b的 數值資料型態,此例為uint8。

  5. 以下是對影像進行數學運算需用的函數: [b+128] 加:imadd(b,128) [b-128] 減:imsubtract(b,128) [b*2] 乘:immultiply(b,2) [b/2] 除:imdivide(b,2)

  6. b1 b2 b3 b4

  7. 補色(complement) 灰階影像的補色就是對應到相片的負片。若影像矩陣m是屬於double型態,則灰階值便介於0-1之間,可透過下列指令補色。 >> 1-m 若是uint8型態影像,最好的方法就是執行imcomplement函數,補色函數 y=255-x。

  8. 原始 補色後

  9. 4.3 直方圖(灰階值分佈圖) 灰階影像的直方圖(histogram)是由其灰階層次所構成,也就是一張標示每個灰階層次在影像中出現次數的圖表。從灰階直方圖可以推論出影像大致上的特性。 在MATLAB中可以使用imhist函數檢視影像的直方圖,指令如下:

  10. axis tight 指令可以調整座標軸,讓直方圖的直線條完全落在圖表內。 影像 直方圖

  11. imadjust的用法 在MATLAB中擴展直方圖也可以使用imadjust函數。最簡單的形式如下: imadjust(im,[a,b],[c,d]) im是輸入的檔案名稱, Imadjust對於double、 uint8、uint16效果一 樣好,不過a、b、c、d 的值要在0到1之間。

  12. imadjust 函數還有另一個 可選用的參數:gamma 通常gamma等於1(內定值),而我們可以 改變它使它大於或小於1,如下圖所示。 gamma<1 gamma>1

  13. Gamma範例 我們拿輪胎影像做這次的示範……

  14. 接下來執行plot函數便可檢視 imadjust擴展函數

  15. 片段線性擴展函數

  16. 有了這一段函數後,我們來簡單的顯示如何處理uint8或double型態的影像。有了這一段函數後,我們來簡單的顯示如何處理uint8或double型態的影像。

  17. 直方圖等化 上述直方圖擴展的方法一定需要使用者輸入,有些情況使用直方圖等化(equalization)這種完全自動的處理方式會比叫好。主要的概念是將直方圖轉換成均勻分佈的樣子,亦即使途中所有的直條變成同一高度。

  18. 在MATLAB中要執行直方圖等化,可以用 histeq函數,例如對pout影像執行。 前 後

  19. 在舉一個例子,一個顏色很暗的影像。我 們使用imdivide產生暗色影像。如下…

  20. 在對影像執行直方圖等化,然後顯示…

  21. 4.4 查詢表格 使用查詢表格(lookup table)來執行點運算會十分有效率。對uint8型態的影像執行運算時,使用的表格是由256個值所組成的單一陣列,每個值都是落於0…255之間的整數,只要將像素值p代換成表格中對應的數值tp,即可完成運算。

  22. LUT的範例 舉例來說,『除以2』的LUT表格如下: 譬如說,想用上述表格對磚塊影像進行運算,可先產生表格:

  23. 磚塊圖 擴展函數圖

  24. 簡化 在舉一例,假設我們要對下圖的比對擴展函數執行LUT,我們得到3個直線方程式:

  25. 然後用下列指令建構LUT

  26. Thanks you for listening感 謝 你 的 聆 聽!!

More Related