- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
灰阶影像的直方图
* ? 2010 Cengage Learning Engineering. All Rights Reserved. 第四章 點處理4.1 前言 只要是影像處理運算就會轉換像素的灰階值。 影像處理運算可以按照進行轉換時所需的資訊分成三個等級。 複雜度由高至低可排列如下: 轉換(transforms) 鄰域處理(neighborhood processing ) 點運算(point operations) 第四章 點處理 第72頁 第四章 點處理 第72頁 圖4.1 圖 4.1 (點運算) 圖 4.1 4.2 數學運算 數學運算對影像中的每個像素灰階值會進行下列簡單的函數運算。 ex: y=x±C, y=Cx 不管是哪一種情況都必須稍微調整輸出結果,讓結果為落在0 . . . 255 的範圍之內的整數。 第四章 點處理 第73頁 第四章 點處理 第74.75頁 圖4.3 圖 4.3 圖 4.4、表 4.1 第四章 點處理 第75頁 圖4.4 第四章 點處理 第76頁 4.2 數學運算 補色 灰階影像的補色(complement)就是對應到相片的負片。 若影像矩陣m 屬於double 形態(0.0 至1.0): 1-m 若為uint8形態影像(0至255): 255-m 第四章 點處理 第76.77頁 圖4.6 圖 4.6 第四章 點處理 第78頁 4.3 直方圖(灰階值分布圖) 灰階影像的直方圖(histogram)是由其灰階值統計量所構成,也就是一張標示每個灰階值在影像中出現次數的圖表。imhist函數 對比不明顯的影像可透過擴展其灰階分布來加強對比: -直方圖擴展法。 -直方圖等化。 假設現有如圖4.9 所示影像直方圖,其灰階分布ni 如下表: 第四章 點處理 第79頁 4.3.1 直方圖擴展法(對比擴展法) 在此可執行圖4.9 右半部之片段線性函數。 此函數可依照下列方程式將灰階層次5 至9 擴展成灰階層次2 至14。 i 是原始灰階層次,j 是轉換後的結果。 第四章 點處理 第79頁 4.3.1 直方圖擴展法(對比擴展法) 第四章 點處理 第80頁 圖4.10 圖 4.10 imadjust 的用法 imadjust對於double、uint8或uint16 形態的影像執行效果一樣好。 a、b、c 和d 的數值必須介於0與1 之間。 此函數會在必要的時候自動將影像im 轉換為double形態。 imadjust(im,[a,b],[c,d]) 注意:imadjust與圖4.9 顯示的運算方式不盡相同。 第四章 點處理 第80.81頁 4.3.1 直方圖擴展法(對比擴展法) imadjust函數還有另一個可選用的參數:gamma值 第四章 點處理 第81.82頁 圖4.12 圖 4.12 4.13 片段線性擴展函數 函數的核心便為如下所示的程式片段: 其中im 是輸入的影像,out是輸出的影像。 第四章 點處理 第83頁 4.3.1 直方圖擴展法(對比擴展法) 參考圖 4.15 第四章 點處理 第83.84頁 圖4.16 圖 4.16 Function histpwl function out = histpwl(im,a,b) % % HISTPWL(IM,A,B) applies a piecewise linear transformation to the pixel values % of image IM, where A and B are vectors containing the x and y coordinates % of the ends of the line segments. IM can be of type UINT8 or DOUBLE, % and the values in A and B must be between 0 and 1. % % For example: % % histpwl(x,[0,1],[1,0]) % % simply inverts the pixel values. % classChanged = 0; if ~isa(im, double), classChanged = 1; im = im2double(im); end if length(a) ~= length (b) error(Vectors A and B must be of equal size); end N=l
文档评论(0)