MatLab--数字图像处理基础
生活随笔
收集整理的這篇文章主要介紹了
MatLab--数字图像处理基础
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 數(shù)字圖像類型
1.1 二值圖像
概念:
二值圖像是指每個(gè)像素值為О或?yàn)?的數(shù)字圖像, 一般表示為黑白兩色,如圖所示。應(yīng)用場(chǎng)景
由于只有兩種顏色,只能表示簡(jiǎn)單的前景和背景, 二值圖像一般不用來表示自然圖像;但因其易于運(yùn)算, 多用于圖像處理過程后期的圖像表示, 如用二值圖像表示檢測(cè)到的目標(biāo)模板、 進(jìn)行文字分析、應(yīng)用于一些工業(yè)機(jī)器視覺系統(tǒng)等。1.2 灰度圖像
概念
灰度圖像中每個(gè)像素只有一個(gè)強(qiáng)度值,呈現(xiàn)黑、灰、白等色, 如圖2-20所示,圖中共有3×3個(gè)像素點(diǎn),每個(gè)像素點(diǎn)呈現(xiàn)強(qiáng)度不一的灰色, 數(shù)值表示為0~255之間的數(shù)。應(yīng)用場(chǎng)景
灰度圖像沒有色彩,一般也不用于表示自然圖像。 因數(shù)據(jù)量較少,方便處理,很多圖像處理算法都是面向灰度圖像的, 彩色圖像處理的很多算法也是在灰度圖像處理的基礎(chǔ)上發(fā)展而來的。1.3 彩色圖像
概念:
應(yīng)用場(chǎng)景
彩色圖像色彩豐富,信息量大,目前數(shù)碼產(chǎn)品獲取圖像一般為彩色圖像。1.4 動(dòng)態(tài)圖形
動(dòng)態(tài)圖像是相對(duì)于靜態(tài)圖像而言。靜態(tài)圖像是指某個(gè)瞬間所獲取的圖像, 是一個(gè)二維信號(hào),前面所講圖像都是指靜態(tài)圖像。 動(dòng)態(tài)圖像是由一組靜態(tài)圖像按時(shí)間順序排列組成的, 是一個(gè)三維信號(hào)f(a , y ,t),其中t是時(shí)間。 動(dòng)態(tài)圖像中的一幅靜態(tài)圖像稱為一幀,這一幀可以是灰度圖像, 也可以是彩色圖像。由于人眼的視覺暫留特性(其時(shí)值是1/24s), 多幀圖像順序顯示間隔△t≤1/24s 時(shí),產(chǎn)生連續(xù)活動(dòng)視覺效果。 動(dòng)態(tài)圖像的快慢由幀率(幀的切換速度)決定 ,電視的幀率在NTSC制式下是30幀/s,在 PAL制式下是25幀/s。動(dòng)態(tài)圖像作為多幀位圖的組合,數(shù)據(jù)量大,一般要采用壓縮算法來降低數(shù)據(jù)量。
1.5 索引圖像
1.6 不同類型圖像間的互相轉(zhuǎn)化
式中,Y,I∈[0,255]2. 數(shù)字圖像的數(shù)值描述
數(shù)字圖像的數(shù)值描述是用數(shù)值方式來表示一幅數(shù)字圖像。 矩陣是二維的,所以可用矩陣來描述數(shù)字圖像。 同時(shí),前面已經(jīng)提到,量化值是整數(shù), 因此描述數(shù)字圖像的矩陣一般是整數(shù)矩陣。2.1 常用的坐標(biāo)系
2.2 數(shù)字圖像的數(shù)據(jù)結(jié)構(gòu)
數(shù)字圖像的存儲(chǔ)一般包括兩部分:文件頭和圖像數(shù)據(jù)。 文件頭是圖像的自我說明,一般包含圖像的維數(shù)、類型、 創(chuàng)建日期和某類標(biāo)題, 也可以包含用于解釋像素值的顏色表或編碼表(如JPEG文件), 甚至包含如何建立和處理圖像的信息。 圖像數(shù)據(jù)一般為像素顏色值或壓縮后的數(shù)據(jù)。圖像壓縮對(duì)于圖像信號(hào)來講十分重要。 圖像數(shù)據(jù)量大,許多格式提供了對(duì)圖像數(shù)據(jù)的壓縮, 可以使圖像數(shù)據(jù)減少到原來的30%,甚至減少至3%, 具體壓縮率取決于需要的圖像質(zhì)量和所用的壓縮方法。壓縮方法分為無損壓縮和有損壓縮, 無損壓縮方法在解壓時(shí)能完全恢復(fù)出原始圖像, 而有損壓縮則不能完全恢復(fù)原始圖像。 數(shù)字圖像和符號(hào)數(shù)字信息不同, 丟失或改變幾位數(shù)字圖像數(shù)據(jù)不會(huì)影響人或機(jī)器對(duì)圖像內(nèi)容的理解。2.3 常見數(shù)字圖像的格式
2.3.1 JPEG
2.3.2 GIF
2.3.3 TIFF
2.3.4 PNG
2.3.5 BMP
BMP(即Bitmap)是Window操作系統(tǒng)中的標(biāo)準(zhǔn)圖像文件格式, 可以分成兩類:設(shè)備相關(guān)位圖(DDB)和設(shè)備無關(guān)位圖(DIB), 使用非常廣。它采用位映射存儲(chǔ)格式,除了圖像深度可選以外, 不采用其他任何壓縮。因此,BMP文件所占用的空間很大。 BMP文件的圖像深度可選1bit、4bit、8bit及24bit。 BMP文件存儲(chǔ)數(shù)據(jù)時(shí),圖像的掃描方式是從左到右、從下到上的順序。 由于BMP文件格式是Windows環(huán)境中交換與圖形有關(guān)數(shù)據(jù)的一種標(biāo)準(zhǔn), 因此在Windows環(huán)境中運(yùn)行的圖形圖像軟件都支持BMP格式。3. 讀取并且顯示圖像
利用MATLAB仿真工具,實(shí)現(xiàn)圖像文件的讀取、顯示及色彩變換。3.1 imread()
功能: 實(shí)現(xiàn)多種類型圖像文件的讀取﹐如BMP、GIF、JPEG、PNG,RAS等。調(diào)用格式: % 獲取圖像 Image1=imread('../images/peppers.JPG');A=imread(FILENAME,FMT)。 FILENAME為圖像文件名,若文件不在當(dāng)前目錄或MATLAB目錄下, 則需要列全文件路徑。FMT為文件的擴(kuò)展名,指定文件類型。 A為圖像數(shù)據(jù)矩陣。3.2 imshow()
功能:顯示圖像。調(diào)用格式: % 顯示Image2圖像 imshow(Image2);imshow(FILENAME):顯示FILENAME指定的圖像, 若文件包括多幀圖像, 則顯示第一幀,且文件必須在MATLAB的當(dāng)前目錄下。3.3 imwrite函數(shù)
功能:實(shí)現(xiàn)圖像文件的保存。調(diào)用格式: % 實(shí)現(xiàn)Image2圖像文件的保存 imwrite(Image2,'../images/changecolor.jpg');3.4 rgb2hsv()
功能:實(shí)現(xiàn)RGB數(shù)據(jù)圖像向HSV數(shù)據(jù)圖像的轉(zhuǎn)換。調(diào)用格式:HSV=rgb2hsv(RGB)。 RGB為RGB彩色圖像,為三維矩陣; HSV為三維HSV圖像矩陣,三維依次為H、S、V,取值均在[o,1]范圍內(nèi)。3.5 rgb2ycbcr ()
功能:實(shí)現(xiàn) RGB數(shù)據(jù)圖像向YCbCr 數(shù)據(jù)圖像的轉(zhuǎn)換。 調(diào)用格式:YCBCR=rgb2ycbcr(RGB)。3.6 rgb2hsv()和rgb2ycbcr ()綜合示例:
代碼:
orgImg = imread('../images/lotus.bmp'); ycbImg = rgb2ycbcr(orgImg);%將圖片進(jìn)行ycbcr化 hsvImg = rgb2hsv(orgImg);%將圖片將星hsv化%顯示圖片 figure; subplot(131),imshow(orgImg),title('原圖'); subplot(132),imshow(ycbImg),title('ycbcr圖片'); subplot(133),imshow(hsvImg),title('hsvImg圖片'); %顯示數(shù)據(jù) disp(ycbImg); disp(hsvImg);運(yùn)行結(jié)果:
3.7 gb2gray函數(shù)
功能:實(shí)現(xiàn)彩色圖像灰度化。 調(diào)用格式:I=rgb2gray(RGB)。代碼:
orgImg = imread('../images/peppers.JPG');%通過rgb2gray()方法進(jìn)行灰度化 grayImage = rgb2gray(orgImg);%通過分離RGB三個(gè)通道進(jìn)行灰度化 imageR = orgImg(:,:,1);%獲取原圖片的R通道 imageG = orgImg(:,:,2);%獲取原圖片的G通道 imageB = orgImg(:,:,3);%獲取原圖片的B通道%通過im2bw()方法直接將圖片黑白化 bwImg = im2bw(orgImg); figure; subplot(231),imshow(orgImg),title('原圖'); subplot(232),imshow(grayImage),title('grayImage'); subplot(233),imshow(imageR),title('R'); subplot(234),imshow(imageG),title('G'); subplot(235),imshow(imageB),title('B'); subplot(236),imshow(bwImg),title('bwImg');運(yùn)行結(jié)果:
本章綜合示例:
示例01: 編寫程序,打開“schoolNight.jpg”圖像,對(duì)其取反并顯示。
代碼:
I= imread( 'images/schoolNight.jpg' ); J= 255-I; subplot( 1,2,1) ,imshow(I) ,title('原始圖像'); subplot( 1,2,2),imshow(J) ,title( '反色圖像'); imwrite(J , 'images/schoolNighC.jpg');運(yùn)行結(jié)果:
示例02: 編寫程序,打開彩色圖像,將其轉(zhuǎn)化為灰度圖像和二值圖像。
代碼:
Image1 = im2double( imread( 'images/lotus.bmp ' ) ); imshow(Image1); %打開圖像并將像素值轉(zhuǎn)化到[0,1] r = Image1( : , :,1); %提取紅色通道 g = Image1( : , :,2); %提取綠色通道 b = Image1( : , :,3); %提取藍(lán)色通道 Y= 0.299 * r+ 0.587* g+0.114 * b; %計(jì)算亮度值¥實(shí)現(xiàn)灰度化 I = (r+ g+ b)/3; %計(jì)算亮度值Ⅰ實(shí)現(xiàn)灰度化 figure,imshow( Y) ,title( '亮度圖Y'); figure,imshow( I),title( '亮度圖I'); BW= zeros( size(Y)); BW(Y > 0.3)= 1; %閾值為0.3,實(shí)現(xiàn)灰度圖二值化 figure,imshow(BW),title( '二值圖像');運(yùn)行結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的MatLab--数字图像处理基础的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无刷电机foc笔记
- 下一篇: ROS教程之读取激光雷达(sick_ti