1.加法
常用于图像叠加、亮度调节、添加噪声等
I=imread('rice.png'); %读入灰度图像rice,赋值给I
J=imread('cameraman.tif'); %读入灰度图像cameraman,赋值给J
Q=imread('flower.tif'); %读入RGB图像flower
%图像叠加
K1=imadd(I,J);
K2=I+J;
%改变亮度
K3=imadd(Q,30);
K4=Q+30;
用于改变噪声时,使用函数imnoise():
I=imread('eight.tif');
G1 =imnoise(I,'gaussian',m,var_gauss); %高斯白噪声
L1 =imnoise(I,'localvar',var_local); %零均值高斯白噪声
P1 =imnoise(I,'poisson'); %泊松噪声
SP1=imnoise(I,'salt & papper',d); %椒盐噪声
S1 =imnoise(I,'speckle',var_speckle); %乘型噪声
对于互不关联的随机噪声,在噪声均值为0的情况下,通过多次迭加后取均值可以将噪声消除。
%示例程序
close all;clear all;clc;
RGB=imread('eight.tif'); %读入eight图像,赋值给RGB
A=imnoise(RGB,'gaussian',0,0.05); %加入高斯白噪声
I=A; %将A赋值给I
M=100; %设置叠叠加次数M
I=im2double(I); %将I数据类型转换成双精度
RGB=im2double(RGB);
for i=1:M
I=imadd(I,RGB); %对用原图像与带噪声图像进行多次叠加,结果返回给I
end
avg_A=I/(M+1); %求叠加的平均图像
2.减法
减法常用于检测图像变化和运动物体,又称为差分方法。
在静态图像处理中,在知道两图像叠加和两图像差异时,可以用于图像分离
%图像减法函数
C=imsubtract(A,B);
C1 = A-B;
%图像绝对差函数
C2=imabsdiff(A,B);
C3=abs(A-B);
3.乘法
乘法指矩阵元素的点乘,用于掩模操作或亮度调节。
%图像点乘函数
C=immultiply(A,B);
C1=A.*B;
掩模操作可以先生成掩模,需要为1,不需要为0,相乘后得到不需要部分为黑色的图像。
亮度调节乘因子大于1时提高亮度,小于1时降低亮度。
4.除法
除法又称为比率变换,给出两幅图像相应像素值的变化比率,用于校正非线性影响。
%图像除法函数
A=imread('office_1.jpg');
B=imread('office_2.jpg');
C=imdivide(A,B);
C1=A;
5.逻辑运算
逻辑运算主要是对二值图像进行处理
K1=I1 & J1; %实现图像的逻辑“与”运算
K2=I1 | J1; %实现图像的逻辑“或”运算
K3=~I1; %实现逻辑“非”运算
K4=xor(I1,J1); %实现“异或”运算