任意区域的色彩一致性处理方法

影像任意感兴趣区域的色彩一致性处理方法,主要是针对掩膜后的影像,类似下图,对非背景区域的像素进行处理 其中非黑色部分我们叫待匀色区域。

这种处理 对于wallis 和直方图匹配 很容易实现,但是颜色转移就相对而言 困难点。

颜色转移技术介绍

颜色转移的目的在于使得参考影像和待处理影像的RGB三维数据点簇形状和位置相匹配。

注意: 矩阵级联的时候 实际的效果是从右到左出现的。

任意区域的颜色转移

像素值为255的区域代表前景区域,即为待匀色区域;

步骤①将掩膜后的原始图像转为矩阵rgbs,选定的参考图像转为矩阵rgbt;

rgbs矩阵转换的规则:

创建一个3行M列的矩阵rgbs,其中M是原始图像的总像素个数,矩阵中初始元素值为0。矩阵行数为3,代表掩膜后原始图像的RGB三分量。

矩阵第一行代表R分量 行列数记为a行b列 把R分量的像素值 从第一列的a个像素先填充进rgbs的第一行,然后第二列从上到下继续填充 直到把所有像素填到rgbs的第一行中 G分量和B分量也按照这个规则填充到第二行和第三行中 。rgbt的转换也是一样

这一步我们要将待匀色区域的像素值 存储到矩阵中 也就是说 我们把这个矩阵拿出来 变成三维数据点簇以后进行旋转平移缩放操作 把它变成和ref一样的三维点簇 变好之后 把这个矩阵再按照顺序填充回原单位

就是说 原来待匀色区域的每个像素 我们经过挑选把它选出来 变为整体然后调整它的值之后 再把它放回原来的单位。 很像一个场景 从很多人里面选择一部分人出来 然后训练他们,他们的能力值改变以后,把每个人遣送回原单位,ok。 所以主要就是三个过程:怎么选出来 怎么训练 怎么放回去所以就按照这三个步骤写下面的文章

怎么选 :上面已经把要处理的图像(前景+背景)和ref图像转为 矩阵了 (之所以这么转矩阵 是迎合matlab里api的矩阵转换规则)

步骤②:将要处理的图像中待匀色区域像素值存储到矩阵中

统计二值图中前景区域像素个数,记为n 创建一个3行n列的矩阵 rgbs1 同样rgbs1的三行对应 RGB三个分量中待匀色区域的像素 填充规则依然是第一列 从上到下 第二列从上到下,一直到最后一列 只不过这次只要前景区域的像素(就是说 当遍历到像素是背景像素时 不存到矩阵中)

好了 现在我们已经把它拿出来了 我们要把操作矩阵 rgbs1 了

这一步是 怎么训练

步骤③ 操作:

把待匀色区域形成的矩阵 rgbs1 和rgbt 按照上述(1)进行 缩放旋转平移

然后就得到结果矩阵I

怎么放回去

步骤④ 我们得到矩阵I以后 把I的三行对应RGB三个分量进行填充

比如 I的第一行 填到R分量中 第一行第一个元素填到R分量第一列的第一个非背景像素上,然后第一列填充完以后,继续从第二列的第一个非背景像素开始填充 一直到最后一列

I的第二行和第三行都是如此

so 很简单的就把 任意前景区域图像进行色彩处理了

主要思想就是拿出来 再放回去

看下颜色转移的效果:

把左边的匀成右边的

把亮的匀成暗的

相关推荐
江畔柳前堤3 小时前
roLabelImg 详细安装教程
开发语言·人工智能·后端·云原生
阿里云大数据AI技术3 小时前
分链路差异化设计的DSP准实时数仓|钛动科技基于阿里云实时计算 Flink 版 + DLF Paimon + EMR Serverless StarRocks 的实践
人工智能·flink
陕西企来客3 小时前
2026年7月AI智能搜索曝光趋势研判
大数据·人工智能·机器学习·ai智能搜索曝光
阿里云大数据AI技术4 小时前
从算力到智能体,面向 Agentic AI 的基础设施演进
人工智能·agent
hangyuekejiGEO4 小时前
GEO技术服务选型指南
大数据·人工智能·python
普通攻击往后拉4 小时前
Leetcode 206. 反转链表
算法·leetcode·链表
阿里云大数据AI技术4 小时前
EMR Serverless Spark AI Function 的双维降本实践
人工智能·sql·spark
维基框架5 小时前
GitHub源码处理提速 一趟扫描反而更慢
人工智能·github
冬奇Lab5 小时前
代码库知识库系列(05):向量检索 vs 知识图谱——加了调用图并没有变更好
人工智能
AKAMAI5 小时前
你的源服务器可能是你做出的最昂贵决定
运维·人工智能·云计算