图像的加运算
I = imread('rice.png');%读取图像,大小为256*256,类型为uint8
J = imread('cameraman.tif'); %读取图像,大小为256*256,类型为uint8
K = imadd(I,J,'uint16');%两幅图像相加,K的图像格式为uint16
L = imadd(I,120);%图像和一个常数相加 figure;
%依次显示四幅图像 subplot(221); imshow(I); subplot(222); imshow(J); subplot(223); imshow(K,[]); subplot(224); imshow(L,[]);
图像的减运算
I = imread('rice.png'); %读取图像
J = imread('cameraman.tif'); %读取图像 K = imsubtract(I,J);%两幅图像相减 L = imsubtract(I,120);%一幅图像减去一
个常数 figure;
%依次显示四幅图像 subplot(221); imshow(I); subplot(222); imshow(J); subplot(223); imshow(K,[]); subplot(224); imshow(L,[]);
图像的乘运算
I = imread('moon.tif'); %读取图像 I16 = uint16(I);%转换图像数据类型 J = immultiply(I16,I16);%同一幅图像相乘
K=imread('rice.png');
L = immultiply(K,0.5);%图像乘以一个常数
figure;
%依次显示四幅图像
subplot(221); imshow(I); subplot(222); imshow(J);
subplot(223); imshow(K); subplot(224);
imshow(L);
图像的除运算
I = imread('rice.png'); J=imread('cameraman.tif');
Ip = imdivide(I,J);%两幅图像相除
K = imdivide(I,2);%图像跟一个常数相除 figure;
%依次显示四幅图像 subplot(221); imshow(I); subplot(222); imshow(J,[]); subplot(223); imshow(Ip,[]); subplot(224); imshow(K);
图像的一般线性运算
I = imread('rice.png');
J = imread('cameraman.tif');
K = imlincomb(1,I,1,J,'uint16');%两幅图像相加,加权系数分别为1,1 L=imlincomb(2,I);%一幅图像相乘,加权系数为2
figure;
%依次显示四幅图像 subplot(221); imshow(I); subplot(222); imshow(J); subplot(223); imshow(K,[]); subplot(224); imshow(L,[]);
图像的逻辑运算
I = imread('cameraman.tif'); J=imread('rice.png');
I1=im2bw(I);%转化为二值图像 J1=im2bw(J);
K1=I1 & J1;%逻辑与运算 K2=I1 | J1;%逻辑或运算 K3=~I1;%逻辑非运算
K4=xor(I1,J1);%异或运算 figure;
%依次显示四幅图像
subplot(221);imshow(I); subplot(222);imshow(J); subplot(223);imshow(I1); subplot(224);imshow(J1);
figure;
%依次显示四幅图像
subplot(221);imshow(K1); subplot(222);imshow(K2); subplot(223);imshow(K3); subplot(224);imshow(K4);
图像的缩放
I = imread('rice.png'); [m,n]=size(I);
J1 = imresize(I, 0.2);%缩小0.2倍 J2 = imresize(I, 8, 'nearest');%最近邻放大8倍 J3 = imresize(I,[8*m 8*n], 'bilinear');%双线性放大8倍 figure;
subplot(221);imshow(I); subplot(222);imshow(J1); subplot(223);imshow(J2); subplot(224);imshow(J3);
图像的旋转
I = imread('cameraman.tif');%读取图像 J1=imrotate(I,-45,'bicubic');%使用bicubic插值顺时针旋转45°
J2=imrotate(I,45,'bilinear','crop');%使用crop方式显示旋转后图像
J3=imrotate(I,45,'bilinear','loose');%使用loose方式显示旋转后图像 figure;
subplot(221); imshow(I); subplot(222); imshow(J1); subplot(223); imshow(J2); subplot(224); imshow(J3);
图像的交互式裁剪
I = imread('circuit.tif'); figure,imshow(I)
I0=imcrop;
figure,imshow(I0);
I = imread('circuit.tif');
I2 = imcrop(I,[75 68 130 112]); imshow(I), figure, imshow(I2)
因篇幅问题不能全部显示,请点此查看更多更全内容