imread、imshow、imwrite等基本操作


%   Matlab圖像處理的日常操作

close all;clear all;clc

%imread   打開圖片使用imread,返回值為一個矩陣
I1=imread('rose.tif');
I2=imread('chest-xray.tif');

%imshow   顯示圖像矩陣,使用imshow(矩陣)或者imshow(文件名)
subplot(221),imshow(I1),title('rose')
subplot(222),imshow(I2),title('chest-xray')

%   值小於等於100的點都顯示為黑(0值)
%   值大於等於200的點都顯示為白(最大值255)
%   原來介於(100,200)的點,現在動態范圍擴展到(0,255)
subplot(223),imshow(I1,[100 200]),title('imshow(I1,[100 200])') 

%   
subplot(224),imshow(I2,[ ]),title('imshow(I2,[ ])')

%   保存圖像矩陣
imwrite(I1,'newrose.tif');

clear all;
%   保存圖像矩陣是可以設置jepg圖像質量
I=imread('Vase.tif');
figure,imshow(I),title('Vase')
figure
subplot(321),imwrite(I,'Vase50.jpg','quality',50);
imshow('Vase50.jpg')
subplot(322),imwrite(I,'Vase30.jpg','quality',30);
imshow('Vase30.jpg')
subplot(323),imwrite(I,'Vase20.jpg','quality',20);
imshow('Vase20.jpg')
subplot(324),imwrite(I,'Vase10.jpg','quality',10);
imshow('Vase10.jpg')
subplot(325),imwrite(I,'Vase5.jpg','quality',5);
imshow('Vase5.jpg')
subplot(326),imwrite(I,'Vase0.jpg','quality',0);
imshow('Vase0.jpg')

% imfino 查看圖像文件的信息(長寬高分辨率等信息)
imfinfo Vase50.jpg
%   可利用返回結構體,調用各個成員信息
In=imfinfo('Vase50.jpg');  %jpg壓縮比計算
r50=(In.Height*In.Width*In.BitDepth)/8/In.FileSize     
In=imfinfo('Vase20.jpg');  %jpg壓縮比計算
r20=(In.Height*In.Width*In.BitDepth)/8/In.FileSize
In=imfinfo('Vase10.jpg');  %jpg壓縮比計算
r10=(In.Height*In.Width*In.BitDepth)/8/In.FileSize
In=imfinfo('Vase5.jpg');  %jpg壓縮比計算
r5=(In.Height*In.Width*In.BitDepth)/8/In.FileSize
%   imwrite 還可以更改分辨率 將分辨率變為 300dpi
imwrite(I,'Vasetif.tif','compression','none','resolution',[300 300])

對應樣張

 

 

鏈接: http://pan.baidu.com/s/1Mn7zS 密碼: g6mc


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM