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

你可能感兴趣的:(imread、imshow、imwrite等基本操作)