圖像乘除法運算涉及到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);
效果圖如下: