图像乘除法运算涉及到immultiply、imdivide函数,实现代码如下:
1、图像之间的乘法运算
close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量 clear all; clc A=imread('ipexroundness_04.png');%读入原始图像赋值给A和B B=imread('ipexroundness_01.png'); C=immultiply(A,B); %计算A和B的乘法,计算结果返回给C A1=im2double(A); %将A和B转换成双精度类型,存为A1和B1 B1=im2double(B); C1=immultiply(A1,B1); %重新计算A1和B1的乘积,结果返回给C1 set(0,'defaultFigurePosition',[100,100,1000,500]);%修改图形图像位置的默认设置 set(0,'defaultFigureColor',[1 1 1])%修改图形背景颜色的设置 figure(1),% 显示原图像A和B subplot(121),imshow(A),axis on; subplot(122),imshow(B),axis on; figure(2),% 显示uint8和double图像数据格式下,乘积C和C1 subplot(121),imshow(C),axis on;; subplot(122),imshow(C1),axis on;;
效果图如下:
2、图像乘以缩放因子的乘法运算:
close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量 clear all; clc A=imread('house.jpg'); %读入图像,赋值给A B=immultiply(A,1.5); %分别乘以缩放因子1.5和0.5,结果返回给B和C C=immultiply(A,0.5); set(0,'defaultFigurePosition',[100,100,1000,500]);%修改图形图像位置的默认设置 set(0,'defaultFigureColor',[1 1 1])%修改图形背景颜色的设置 figure(1), subplot(1,3,1),imshow(A),axis on; subplot(1,3,2),imshow(B),axis on;%显示乘以缩放因子以后的图像 subplot(1,3,3),imshow(C),axis on;
图像效果如下:
3、图像之间的除法运算以及图像除以常数的运算
close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量 clear all; clc; I=imread('office_1.jpg'); %读入图像office_1和office_2,并赋值 J=imread('office_2.jpg'); Ip=imdivide(J,I); %两幅图像相除 K=imdivide(J,0.5); %图像跟一个常数相除 set(0,'defaultFigurePosition',[100,100,1000,500]);%修改图形图像位置的默认设置 set(0,'defaultFigureColor',[1 1 1])%修改图形背景颜色的设置 figure(1); %依次显示四幅图像 subplot(121); imshow(I); subplot(122); imshow(J); figure(2) subplot(121); imshow(Ip); subplot(122); imshow(K);
效果图如下: