以下是一个示例代码,可以实现对两张 HSI 颜色模式的图片进行像素比较,并将不同的像素以图片形式显示出来:

import cv2
import numpy as np

def compare_images(img1, img2):
    # 将图片转换为HSI颜色模式
    img1_hsi = cv2.cvtColor(img1, cv2.COLOR_BGR2HSV)
    img2_hsi = cv2.cvtColor(img2, cv2.COLOR_BGR2HSV)
    
    # 计算两张图片的像素差异
    diff = cv2.absdiff(img1_hsi, img2_hsi)
    diff = cv2.split(diff)[1] + cv2.split(diff)[2]  # 只考虑色调和饱和度的差异
    
    # 设置像素差异的阈值
    threshold = 50
    
    # 将差异超过阈值的像素设置为255,其他像素设置为0
    diff = cv2.threshold(diff, threshold, 255, cv2.THRESH_BINARY)[1]
    
    # 在原始图片上标记出差异像素
    img_marked = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
    img_marked = cv2.threshold(img_marked, 1, 255, cv2.THRESH_BINARY)[1]
    img_marked[diff == 255] = 0
    
    return img_marked

# 读取两张HSI颜色模式的图片
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')

# 调用函数进行像素比较
result = compare_images(img1, img2)

# 显示结果图片
cv2.imshow('Different Pixels', result)
cv2.waitKey(0)
cv2.destroyAllWindows()

请注意,上述代码中的image1.jpgimage2.jpg需要替换为实际的图片路径。此外,threshold变量可以根据实际需求进行调整,以确定颜色差异的阈值。

Python 图片像素比较:找出 HSI 颜色模式图片差异 (附代码)

原文地址: https://www.cveoy.top/t/topic/pzVd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录