matlab-对比两张图片的RGB分量的差值并形成直方图
%对比两张图片的RGB分量的差值并形成直方图,改个路径就能用,图片分辨率要一致
close all;
clear all;
clc;
I1=imread('E:\test\resources\image\1.jpg');
I2=imread('E:\test\resources\image\2.jpg');
R1=I1(:,:,1);
G1=I1(:,:,2);
B1=I1(:,:,3);
R2=I2(:,:,1);
G2=I2(:,:,2);
B2=I2(:,:,3);
%修改图形的默认位置
%set(0,'defaultFigurePostion',[100,100,1000,500]);
%set(0,'defaultFigureColor',[1,1,1]);
%显示彩色图像
figure;
subplot(141);%拿subplot(221)来说,就是一个2*2的矩阵画布,1代表图片处于第一个位置:
imshow(I1);
%R分量灰度图
subplot(142);imshow(R1);
%G分量灰度图
subplot(143);imshow(G1);
%B分量灰度图
subplot(144);imshow(B1);
figure;
subplot(141);%拿subplot(221)来说,就是一个2*2的矩阵画布,1代表图片处于第一个位置:
imshow(I2);
%R分量灰度图
subplot(142);imshow(R2);
%G分量灰度图
subplot(143);imshow(G2);
%B分量灰度图
subplot(144);imshow(B2);
R_fault=abs(R1-R2);
G_fault=abs(G1-G2);
B_fault=abs(B1-B2);
figure;
%显示红色分辨率下的直方图
subplot(131);
imhist(I1(:,:,1));
%显示红色分辨率下的直方图
subplot(132);
imhist(I1(:,:,2));
%显示红色分辨率下的直方图
subplot(133);
imhist(I1(:,:,3));
figure;
%显示红色分辨率下的直方图
subplot(131);
imhist(I2(:,:,1));
%显示红色分辨率下的直方图
subplot(132);
imhist(I2(:,:,2));
%显示红色分辨率下的直方图
subplot(133);
imhist(I2(:,:,3));
figure;
%显示红色分辨率下的直方图
subplot(131);
imhist(R_fault);
%显示红色分辨率下的直方图
subplot(132);
imhist(G_fault);
%显示红色分辨率下的直方图
subplot(133);
imhist(B_fault);