图像处理基础 | 查看两张图像的亮度差异,Y通道相减

两张图像的Y通道相减通常用于图像差异分析或比较,尤其是在亮度方面。具体来说,这一操作是基于YCbCr颜色空间中的Y通道进行的,其中Y通道代表图像的亮度信息(亮度成分),而Cb和Cr通道分别代表色度成分(色彩信息)。

具体含义:

YCbCr颜色空间:YCbCr是一个广泛用于图像处理和视频压缩的颜色空间。在这个空间中:

Y 通道表示图像的亮度(明暗)信息。

Cb 和 Cr 通道则分别表示色度(蓝色差和红色差)信息。

Y通道相减:当我们对两张图像的Y通道进行相减时,实际上是在比较两张图像的亮度信息,目的是计算它们在亮度方面的差异。这种方法对于图像的亮度变化、对比度、或者图像间的细微差异检测特别有用。

举个例子:

假设有两张图像,它们的内容非常相似,只是在亮度方面有一些细微的差异。通过提取它们的Y通道并进行相减,你可以获得一张图像,其中显示的是两者亮度上的差异。

如果结果值为零:表示两张图像的亮度完全相同。

如果结果值为正或负:表示两张图像的亮度存在差异,具体是某一张图像比另一张图像亮或暗。

python代码如下:

python 复制代码
import cv2
import numpy as np
# 查看两张图像的亮度差异
# 读取两张图像
image1 = cv2.imread("4.jpg")
image2 = cv2.imread('3.jpg')

# 设置高斯核的大小和标准差
kernel_size = (3, 3)  # 核的大小,必须是奇数
sigma = 0  # 标准差,0会自动根据核的大小计算 sigma越大,模糊越强

# 应用高斯模糊
blurred_image = cv2.GaussianBlur(image2, kernel_size, sigma)

# 将图像转换为YCbCr颜色空间
if len(image1.shape) == 2:  # 如果是灰度图像
    image1 = cv2.cvtColor(image1, cv2.COLOR_GRAY2BGR)

if len(blurred_image.shape) == 2:  # 如果是灰度图像
    blurred_image = cv2.cvtColor(blurred_image, cv2.COLOR_GRAY2BGR)


ycbcr1 = cv2.cvtColor(image1, cv2.COLOR_BGR2YCrCb)
ycbcr2 = cv2.cvtColor(blurred_image, cv2.COLOR_BGR2YCrCb)

# 提取Y通道
y_channel1 = ycbcr1[:, :, 0]
y_channel2 = ycbcr2[:, :, 0]

# 对Y通道进行相减
y_diff = cv2.absdiff(y_channel1, y_channel2)

# 提取Cb和Cr通道
cb_channel1 = ycbcr1[:, :, 1]  # 蓝色差(Cb)
cr_channel1 = ycbcr1[:, :, 2]  # 红色差(Cr)

cb_channel2 = ycbcr2[:, :, 1]  # 蓝色差(Cb)
cr_channel2 = ycbcr2[:, :, 2]  # 红色差(Cr)

# 对Cb通道和Cr通道分别进行相减
cb_diff = cv2.absdiff(cb_channel1, cb_channel2)  # 蓝色差异
cr_diff = cv2.absdiff(cr_channel1, cr_channel2)  # 红色差异

cv2.imwrite('blurred_image.jpg', blurred_image)
cv2.imwrite('y_channel_diff.jpg', y_diff)

cv2.imwrite('cb_diff.jpg', cb_diff)
cv2.imwrite('cr_diff.jpg', cr_diff)
相关推荐
Coding茶水间2 小时前
基于深度学习的安检危险品检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉
Angelina_Jolie4 小时前
基于 Retinex 的 TempRetinex:适用于不同光照条件下低光视频的无监督增强方法
计算机视觉·音视频
翔云 OCR API4 小时前
承兑汇票识别接口技术解析与应用实践
开发语言·人工智能·python·计算机视觉·ocr
百***07455 小时前
GPT-Image-1.5 极速接入全流程及关键要点
人工智能·gpt·计算机视觉
Doctor_Strange_DML7 小时前
一个简单有效的数据增强技术:data3
人工智能·计算机视觉
棒棒的皮皮7 小时前
【OpenCV】Python图像处理形态学之膨胀
图像处理·python·opencv·计算机视觉
Dev7z7 小时前
YOLO11 公共区域违法发传单检测系统设计与实现
人工智能·计算机视觉·目标跟踪
SickeyLee8 小时前
基于Dify智能体开发平台开发一个目标检测智能体
人工智能·计算机视觉·目标跟踪
肥猪猪爸9 小时前
计算机视觉中的Mask是干啥的
图像处理·人工智能·深度学习·神经网络·目标检测·计算机视觉·视觉检测
智驱力人工智能11 小时前
仓库园区无人机烟雾识别:构建立体化、智能化的早期火灾预警体系 无人机烟雾检测 无人机动态烟雾分析AI系统 无人机辅助火灾救援系统
人工智能·opencv·算法·目标检测·架构·无人机·边缘计算