image-processing - 比较两个组件及其颜色

标签 image-processing colors opencv rgb hsl

我想比较具有填充颜色的组件是否相等 我执行以下算法,我对 rgb 进行如下平均

                double avg1 =(comp[0].Red+comp[0].Blue+comp[0].Green)/3;
                double avg2 =(comp[1].Red+comp[1].Blue+comp[1].Green)/3;

然后比较如下

                      double ratio  = avg1/avg2 ;
                      if(ratio > 0.8 && ratio < 1.2){} //then they are supposed to be equal

但这种方式根本不准确

经过搜索,我发现最好的方法是将图像转换为 HSL 空间并进行比较 但我不知道如何比较 2 种颜色?!! here

换句话说,将图像转换为 HSL 空间后我能做什么?!

请帮忙!!

修改问题以获得更多说明 我的意思是组件(点序列)所以在平均步骤中实际上我重新访问所有点计算每个像素的 rgb 平均值的总和,然后对点的总数进行平均

最佳答案

转换为 HSL 并使用 H(色调)的差异对颜色进行分组。

关于image-processing - 比较两个组件及其颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6687471/

相关文章:

angular - Ionic 3 图像延迟加载器

matlab - Opencv 中的直方图

python - 不理解 scipy.ndimage.filters.convolve 的模式

react-native - React Native 支持 Display P3 色域?还是只有srgb?

swift - 如何在 SwiftUI 中从 Color 获取 RGB 分量

c++ - 你可以使用带有 vt100 转义码的十六进制颜色值 c++

opencv - 如何对齐(注册)和合并点云以获得完整的 3d 模型?

c# - 如何在 OpenCvSharp 库中打印矩阵值

c++ - 二值图像的特征提取

python - 将 DCT 系数可视化为图像的好方法