matlab-对比两张图片的Ycbcr分量的差值并形成直方图

%对比两张图片的Ycbcr分量的差值并形成直方图,改个路径就能用,图片分辨率要一致

close all;

clear all;

clc;

I1=imread('E:\test\resources\image\1.jpg');

I2=imread('E:\test\resources\image\2.jpg');

ycbcr1 = rgb2ycbcr(I1);

ycbcr2 = rgb2ycbcr(I2);

% 提取色度分量,Y(亮度),Cb 和 Cr(色差):色度或色差分量。Cb 表示蓝色和亮度之间的差异,而 Cr 表示红色和亮度之间的差异。

Y1 = ycbcr1(:, :, 1);

cb1 = ycbcr1(:, :, 2);

cr1 = ycbcr1(:, :, 3);

Y2 = ycbcr2(:, :, 1);

cb2 = ycbcr2(:, :, 2);

cr2 = ycbcr1(:, :, 3);

%显示彩色图像

figure;

subplot(141);%拿subplot(221)来说,就是一个2*2的矩阵画布,1代表图片处于第一个位置:

imshow(I1);

%R分量灰度图

subplot(142);imshow(Y1);

%G分量灰度图

subplot(143);imshow(cb1);

%B分量灰度图

subplot(144);imshow(cr1);

figure;

subplot(141);%拿subplot(221)来说,就是一个2*2的矩阵画布,1代表图片处于第一个位置:

imshow(I2);

%R分量灰度图

subplot(142);imshow(Y2);

%G分量灰度图

subplot(143);imshow(cb2);

%B分量灰度图

subplot(144);imshow(cr2);

Y_fault=abs(Y1-Y2);

cb_fault=abs(cb1-cb2);

cr_fault=abs(cr1-cr2);

figure;

%显示红色分辨率下的直方图

subplot(131);

imhist(Y1);

%显示红色分辨率下的直方图

subplot(132);

imhist(cb1);

%显示红色分辨率下的直方图

subplot(133);

imhist(cr1);

figure;

%显示红色分辨率下的直方图

subplot(131);

imhist(Y2);

%显示红色分辨率下的直方图

subplot(132);

imhist(cb2);

%显示红色分辨率下的直方图

subplot(133);

imhist(cr2);

figure;

%显示红色分辨率下的直方图

subplot(131);

imhist(Y_fault);

%显示红色分辨率下的直方图

subplot(132);

imhist(cb_fault);

%显示红色分辨率下的直方图

subplot(133);

imhist(cr_fault);

相关推荐
wuk99810 小时前
MATLAB双树复小波变换(DTCWT)工具包详解
人工智能·计算机视觉·matlab
机器学习之心10 小时前
PINN预测圆形区域内的二维声场MATLAB实现
matlab·pinn·二维声场
tyatyatya17 小时前
如何在MATLAB中进行数据可视化?
matlab·信息可视化·数据分析
软件算法开发1 天前
基于秃鹰搜索优化的LSTM深度学习网络模型(BES-LSTM)的一维时间序列预测算法matlab仿真
深度学习·算法·matlab·lstm·时间序列预测·秃鹰搜索优化·bes-lstm
子不语1801 天前
Matlab(一)——绘图
开发语言·matlab
RaLi和夕2 天前
Matlab创建传递函数,绘制零极点图1
matlab
wuk9983 天前
基于Matlab的彩色图像特征提取实现
人工智能·计算机视觉·matlab
yong99903 天前
基于互信息的Matlab多模态医学图像配准实现
开发语言·matlab
Evand J3 天前
【TCN与LSTM例程】TCN(时间卷积网络)与LSTM(长短期记忆)训练单输入单输出,用于拟合一段信号,便于降噪。MATLAB
网络·人工智能·matlab·lstm
bubiyoushang8883 天前
基于MATLAB的自然图像梯度分布重尾特性验证方案
开发语言·matlab