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

相关推荐
feifeigo1234 天前
matlab画图工具
开发语言·matlab
Gofarlic_oms14 天前
避免Kisssoft高级分析模块过度采购的科学评估方法
大数据·linux·运维·人工智能·matlab
rit84324994 天前
全变分正则化图像去噪的MATLAB实现
开发语言·matlab
Evand J4 天前
通过matlab实现机器学习的小项目示例(鸢尾花分类)
机器学习·支持向量机·matlab
bu_shuo4 天前
MATLAB命令行窗口中的字体放大操作
matlab·命令行
micro_xx4 天前
Matlab 有限元分析三维悬臂梁变形
前端·数据库·matlab
Matlab程序设计与单片机5 天前
【变压器故障诊断分类与预测(DGA原始数据)】基于标准Elman神经网络
matlab·elman神经网络·变压器故障诊断与分类预测
Evand J5 天前
【课题推荐】深度学习驱动的交通流量预测系统(基于LSTM的交通流量预测系统),MATLAB实现
人工智能·深度学习·matlab·课题简介
晞子的技术札记5 天前
单相Heric并网逆变器工作原理及MATLAB仿真测试
开发语言·matlab
Matlab程序设计与单片机5 天前
【变压器故障诊断分类与预测(三比值法)】基于标准GRNN神经网络
matlab·grnn神经网络·变压器故障诊断与分类·三比值法