区域转换为二值图像_Matlab图像处理系列教程(一)
小編近期為大家帶來一套全面系統的MATLAB在圖像處理中的應用。
灰度處理?灰度化處理就是將一幅色彩圖像轉化為灰度圖像的過程。彩色圖像分為R,G,B三個分量,分別顯示出紅綠藍等各種顏色,灰度化就是使彩色的R,G,B分量相等的過程。灰度值大的像素點比較亮(像素值最大為255,為白色),反之比較暗(像素最下為0,為黑色)。
X=imread('football.jpg'); %讀取文件格式為.jpg,% 文件名為 football 的 RGB 圖像的信息I=rgb2gray(X); %將 RGB 圖像轉換為灰度圖像set(0,'defaultFigurePosition',[100,100,1000,500]); %修改圖形圖像位置的默認設置set(0,'defaultFigureColor', [1 1 1]); %修改圖形背景顏色的設置subplot(121),imshow(X); %顯示原 RGB 圖像subplot(122),imshow(I); %顯示轉換后灰度圖像索引圖像是一種把像素值直接作為RGB調色板下標的圖像。索引圖像可把像素值“直接映射”為調色板數值,原理就是矩陣 X 中的每個值,代表的是映射矩陣 map 的行,然后顏色既是map 中這一行的組合色調。MATLAB自帶的woman信號構成的圖像的像素索引矩陣和調色板矩陣。woman圖像是一幅典型的索引圖像。其圖像矩陣大小為256×256,表示有65535個像素點構成。調色板大小為256×3,表示有256種顏色。我們看到圖像索引矩陣的(1,1)單元的內容為124,也就是說這一點像素的顏色就是調色板矩陣的第125行所定義的顏色。可以看到調色板矩陣的第125行為[0.60536,0.60536,0.60536],表示RGB三個分量的比重都比較重且在圖像中的地位相同。
索引圖像?
RGB = imread('football.jpg'); %讀取圖像信息[X1,map1]=rgb2ind(RGB,64); %將 RGB 圖像轉換成索引圖像,顏色種數 N 是 64 種 [X2,map2]=rgb2ind(RGB,0.2); %將 RGB 圖像轉換成索引圖像,顏色種數 N 是 216 種map3= colorcube(128); %創建一個指定顏色數目的 RGB 顏色映射表X3=rgb2ind(RGB,map3);set(0,'defaultFigurePosition',[100,100,1000,500]); %修改圖形圖像位置的默認設置set(0,'defaultFigureColor', [1 1 1]); %修改圖形背景顏色的設置figure; subplot(131),imshow(X1,map1); %顯示用最小方差法轉換后索引圖像subplot(132),imshow(X2,map2); %顯示用均勻量化法轉換后索引圖像subplot(133),imshow(X3,map3); %顯示用顏色近似法轉換后索引圖像圖像二值化?
圖像的二值化處理就是講圖像上的點的灰度置為0或255,也就是講整個圖像呈現出明顯的黑白效果。即將256個亮度等級的灰度圖像通過適當的閥值選取而獲得仍然可以反映圖像整體和局部特征的二值化圖像。在數字圖像處理中,二值圖像占有非常重要的地位,特別是在實用的圖像處理中,以二值圖像處理實現而構成的系統是很多的,要進行二值圖像的處理與分析,首先要把灰度圖像二值化,得到二值化圖像,這樣子有利于再對圖像做進一步處理時,圖像的集合性質只與像素值為0或255的點的位置有關,不再涉及像素的多級值,使處理變得簡單,而且數據的處理和壓縮量小。為了得到理想的二值圖像,一般采用封閉、連通的邊界定義不交疊的區域。所有灰度大于或等于閥值的像素被判定為屬于特定物體,其灰度值為255表示,否則這些像素點被排除在物體區域以外,灰度值為0,表示背景或者例外的物體區域。如果某特定物體在內部有均勻一致的灰度值,并且其處在一個具有其他等級灰度值的均勻背景下,使用閥值法就可以得到比較的分割效果。如果物體同背景的差別表現不在灰度值上(比如紋理不同),可以將這個差別特征轉換為灰度的差別,然后利用閥值選取技術來分割該圖像。動態調節閥值實現圖像的二值化可動態觀察其分割圖像的具體結果。
I=imread('rice.png'); %讀取文件格式為.jpg,BW1=im2bw(I,0.4); %將灰度圖像轉換為二值圖像,level 值為 0.4BW2=im2bw(I,0.6); %將灰度圖像轉換為二值圖像,level 值為 0.6set(0,'defaultFigurePosition',[100,100,1000,500]); %修改圖形圖像位置的默認設置set(0,'defaultFigureColor', [1 1 1]); %修改圖形背景顏色的設置figure;subplot(131),imshow(I); %顯示 level=0.4 轉換后的二值圖像subplot(132),imshow(BW1); %顯示 level=0.5 轉換后的二值圖像subplot(133),imshow(BW2); %顯示 level=0.6 轉換后的二值圖像圖像濾波?
Y=filter2(h,x,’shape’)h為濾波器,x為要濾波的數據,將h放在x上移動進行模板濾波。?shape可取 full,same,valid (不寫默認是same)。
I=imread('rice.png'); %讀取文件格式為.jpg,H=[1 2 1;0 0 0;-1 -2 -1]; %設置 subol 算子X=filter2(H,I); %對灰度圖像 G 進行 2 次濾波,實現邊緣檢測set(0,'defaultFigurePosition',[100,100,1000,500]); %修改圖形圖像位置的默認設置set(0,'defaultFigureColor', [1 1 1]); %修改圖形背景顏色的設置figure,subplot(131),imshow(I);subplot(132),imshow(X,[]),colorbar(); %顯示圖像,并添加顏色條subplot(133),imshow(X,[]),colorbar('east');二維圖像紋理映射三維球體表面?
紋理映射是一種將二維圖像映射到三維圖形表面的技術。這種技術通過轉換顏色數據使二維圖像與三維圖形表面保持一致。在MATLAB中的紋理映射是利用雙線性漸變算法來實現圖像映射的。
close all; %關閉當前所有圖形窗口clear all; %清空工作空間變量clc; %清屏%I=imread('testpat.png'); I=imread('football.jpg'); %讀取圖像信息[x,y,z]=sphere; %創建三個(N+1)×(N+1)的矩陣,% 使得 surf(X,Y,Z)建立一個球體,缺省時 N 取 20set(0,'defaultFigurePosition',[100,100,1000,400]); %修改圖形圖像位置的默認設置set(0,'defaultFigureColor', [1 1 1]) %修改圖形背景顏色的設置figure,subplot(121),warp(I); %顯示圖像映射到矩形平面subplot(122),warp(x,y,z,I); %將二維圖像紋理映射三維球體表面grid; %建立網格總結
以上是生活随笔為你收集整理的区域转换为二值图像_Matlab图像处理系列教程(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全年营业额怎么计算_门店盈亏平衡计算及案
- 下一篇: 羊骨的功效与作用、禁忌和食用方法