matlab图像处理基础操作笔记

1.图片读取

rgb = imread('C:Users\doggy\Desktop\1.jpg'); %读取图片,引号内图片地址
image(rgb) %显示图片

2.读取图片数据到数组

A=imread('C:\Users\doggy\Desktop\1.jpg') %引号内为图片地址

%对于一张真色彩图片,数组A是一个三维数组,即M*N*3.
%注意:对数组A进行运算时候,要将其转换成double型才可以,否则会算术溢出(当值大于255便溢出)。例如T=[123 252 12 0] %为数组A中的以部分元素,则T(1)+T(2)=0(溢出)。

3.改变图像像素,

hf = imread('C:\Users\doggy\Desktop\1.jpg') ;
N = 800 ;%图片的像素为800*800
hf = imresize(hf,[N,N]) ;

4.窗口分割,图片旋转

A= imread('C:\Users\doggy\Desktop\1.jpg') ;
%照片上下左右旋转
C0 = A ;
C1 = rot90(C0,1) ;%逆时针旋转90
C2 = rot90(C0,2);%逆时针旋转180
C3 = rot90(C0,3);%逆时针旋转270
%显示旋转的图片
figure('NumberTitle','off','Name','图片旋转') ;
subplot(2,2,1) ; %坐标象限
imshow(C0) ;
xlabel('原始图片') ;
subplot(2,2,2) ;
imshow(C1) ;
xlabel('左旋转') ;
subplot(2,2,3) ;
imshow(C2) ;
xlabel('倒置') ;
subplot(2,2,4) ;
imshow(C3) ; %显示C3图并命名xlabel
xlabel('右旋转') ;
pause(3) ; %停顿3秒后关闭
close all ;

5、获取图像详细信息

imfinfo 'C:\Users\doggy\Desktop\1.jpg'

6.图片的保存
(1)
hf = imread('C:\Users\doggy\Desktop\1.jpg') ;
imwrite(hf,'D:\目标地址\tmp.jpg') ;

(2)

hf = imread('C:\Users\doggy\Desktop\1.jpg') ;
imwrite(hf,'D:\目标地址\aa.tif','compression','none','resolution',[200,200]); %转存并改变像素,格式必须为tif,
imwrite(hf,'D:\目标地址\ab.tif','compression','none','resolution',[300,300]);
%读取文件并显示
hf = imread('D:\目标地址\aa.tif') ;
subplot(1,2,1) ;
imshow(hf) ;
hf = imread('D:\目标地址\ab.tif') ;
subplot(1,2,2) ;
imshow(hf) ;

7.数据类型转换

B = data_class_name(A) %其中data_class_name为数据内省,如double,char,Unit8/16/32,Int8/16/32
round(3.5)=3; %函数round可以将浮点数转化成整数

8.图像的旋转
(1)
hf = imread('C:\Users\doggy\Desktop\1.jpg');%读取的图像为三维数组
A = hf(end:-1:1,end:-1:1,:);
subplot(1,2,1) ;
imshow(hf);
xlabel('原图像');
subplot(1,2,2) ;
imshow(A) ;
xlabel('旋转后的图像');

//函数rot90()
使用格式:

B = rot90(A,n);

说明:
将矩阵A按照逆时针方向旋转n个90度,将旋转后的矩阵返回给B.
注:该函数只能对于二维矩阵进行旋转,并且旋转的度数为90的整数倍数.//

(2)
hf = imread('C:\Users\doggy\Desktop\1.jpg');
BL = hf(:,:,1);%变成黑白照片
A = rot90(BL,1);%逆时针转转90
B = rot90(BL,2) ;%逆时针旋转180
subplot(1,3,1) ;
imshow(hf);
xlabel('原图像');
subplot(1,3,2) ;
imshow(A) ;
xlabel('旋转90后的图像');
subplot(1,3,3) ;
imshow(B) ;
xlabel('旋转180后的图像');

(3)
B = imrotate(A,angle)
B = imrotate(A,angle,method)
B = imrotate(A,angle,method,bbox)
%例:

f = imread('C:\Users\doggy\Desktop\1.jpg');
set(0,'defaultfigurecolor','w');%设置绘图窗口背景颜色
for i = 1:1:16
%每次旋转45度,且使旋转后的图片的尺寸大小不变
B = imrotate(f,i*45/2,'bilinear','crop');
imshow(B);
pause(1);
end

猜你喜欢

转载自www.cnblogs.com/Eudemonia8023/p/12810049.html
今日推荐