MATLAB:图像乘除法运算(immultiply、imdivide函数),同时比较双精度类型图像运算结果

时间:2022-07-21 05:19:33

图像乘除法运算涉及到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;;

  效果图如下:

MATLAB:图像乘除法运算(immultiply、imdivide函数),同时比较双精度类型图像运算结果

MATLAB:图像乘除法运算(immultiply、imdivide函数),同时比较双精度类型图像运算结果

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;

  图像效果如下:

MATLAB:图像乘除法运算(immultiply、imdivide函数),同时比较双精度类型图像运算结果

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);

  效果图如下:

MATLAB:图像乘除法运算(immultiply、imdivide函数),同时比较双精度类型图像运算结果

MATLAB:图像乘除法运算(immultiply、imdivide函数),同时比较双精度类型图像运算结果