這樣的方法適用於加強嵌入圖像暗色區域的白色或灰色細節。
src = imread('Fig0303(a)(breast).tif'); imshow(src); result = imadjust(src, [0 1], [1 0]); figure, imshow(result);
(普通線性變換)
src = imread('Fig0316(a)(moon).tif'); imshow(src); result = imadjust(src, stretchlim(src), [ ]); figure, imshow(result);
(使用對數變換)
src = imread('Fig0305(a)(spectrum).tif'); imshow(src); result = im2uint8( mat2gray( log(1 + double(src)) ) ); figure, imshow(result);
在圖像處理領域,二值圖像運算量小,並且能夠體現圖像的關鍵特徵,所以被普遍使用。
src = imread('Fig0409(a)(bld).tif'); imshow(src); [row clumn] = size(src); for p = 1:row for q = 1:clumn if src(p,q)>=125 src(p,q)=255; else src(p,q)=0; end end end figure,imshow(src);![]()
![]()
imadjust()
imadjust在數字圖像處理中用於進行圖像的灰度變換(調節灰度圖像的亮度或彩色圖像的顏色矩陣),該函數先將圖像映射到[0 1],好比uint8類型的圖像會先乘以255來決定實際應用中的值。調用格式:J = imadjust(I)將灰度圖像I 中的亮度值映射到 J 中的新值並使 1% 的數據是在低高強度和飽和,這添加了輸出圖像 J 的對照度值。此使用方法至關 imadjust(I,stretchlim(I))
J = imadjust(I,[low_in; high_in],[low_out; high_out])將圖像I中的亮度值映射到J中的新值。即將low_in至high_in之間的值映射到low_out至high_out之間的值。low_in 下面與 high_in 以上的值被剪切掉了。也就是說,low_in 下面的值映射到 low_out,high_in 以上的值映射到high_out。它們都可以使用空的矩陣[],默認值是[0 1]。python
J = imadjust(I,[low_in; high_in],[low_out; high_out],gamma)將圖像 I 中的亮度值映射到 J 中的新值,當中 gamma指定描寫敘述值I和值J關係的曲線形狀。假設gamma小於1。此映射偏重更高數值(明亮)輸出,假設gamma大於1。此映射偏重更低數值(灰暗)輸出。假設省略此參數,默以爲(線性映射)。
newmap = imadjust(map,[low_in; high_in],[low_out; high_out],gamma)調整索引色圖像的調色板map。假設low_in, high_in, low_out, high_out 和 gamma 都是標量。那麼對 r,g。b 份量同一時候都作此映射。函數
對於每個顏色份量都有惟一的映射,當 low_in 和 high_in 同一時候爲1*3向量或者 low_out 和 high_out 同一時候爲1*3向量或者 gamma 爲1*3向量時。post
調整後的顏色矩陣 newmap
和 map 有一樣的大小。ui
RGB2 = imadjust(RGB1,...)對 RGB 圖像RGB1 的紅、綠、藍調色板分別進行調整。 隨着顏色矩陣的調整,每一個調色板都有惟一的映射值。編碼
stretchlim()
LOW_HIGH = stretchlim(src, tol)該函數找到對照度擴展圖像的對照,可用於imadjust(),tol = [LOW_FRACT HIGH_FRACT] 指定圖像低像素值和高像素值飽和度的百分比假設tol是一個標量,tol = LOW_FRACT、HIGH_FRACT = 1 - LOW_FRACT,飽和度等於低像素值和高像素值的百分比。假設在參數中忽略toll。那麼飽和度水平爲2%,tol的默認值爲[0.01 0.99]。假設選擇 tol = 0, LOW_HIGH = [min(I(:)); max(I(:))].
mat2gray()
調用格式:I = mat2gray(A, [amin amax])將圖像矩陣A中介於amin和amax的數據歸一化處理。 其他小於amin的元素都變爲0。 大於amax的元素都變爲1。I = (A-amin)/(amax-amin)
I = mat2gray(A)將圖像矩陣A歸一化爲圖像矩陣I。 歸一化後矩陣中每個元素的值都在0到1範圍內(包含0和1)。I = (A-amin)/(amax-amin)spa
im2uint8()
函數功能: 把圖像 數據類型轉換爲無符號八位整型。假設輸入圖像是無符號八位整型的,返回的圖像和源圖像一樣。假設 源圖像不是無符號八位整型的,該函數將返回和源圖像一樣但 數據類型爲uint8的圖像(必要時對圖像進行調整)。調用格式:I = im2uint8(src)把 灰度圖像src的 數據類型轉換成無符號八位整型的後, 返回。(但src並不發生改變)
RGB2 = im2uint8(RGB1)把真彩色圖像的 數據類型轉換成無符號八位 整型的。 並返回。注意這裏並不是將真彩色圖像轉換成爲黑白圖像, 這裏只改變了圖像數據的類型。3d
I = im2uint8(BW)把二值圖像BW的數據格式轉換成uint8格式的。 由於二值圖像的圖像數據只取0和1, 因此這裏的轉換效果不過把1映射成255。