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

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

这种处理 对于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 很简单的就把 任意前景区域图像进行色彩处理了

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

看下颜色转移的效果:

把左边的匀成右边的

把亮的匀成暗的

相关推荐
Darkwanderor12 分钟前
高精度计算——基础模板整理
c++·算法·高精度计算
蔡俊锋13 分钟前
AI提示词零基础入门:从“无效提问”到“精准输出”,核心方法论全拆解
人工智能·ai提示词·ai工程·ai沟通
LaughingZhu19 分钟前
移动端 AI 的价值重估:设备端智能的拐点
大数据·人工智能·经验分享·搜索引擎·语音识别
杜子不疼.21 分钟前
Java 智能体学习避坑指南:3 个常见误区,新手千万别踩,高效少走弯路
java·开发语言·人工智能·学习
普马萨特26 分钟前
基站 / WiFi 粗略位置对 A-GNSS 的影响
网络·人工智能·算法
孤岛站岗31 分钟前
【AI Agent实战手册】AG05:MCP vs A2A——两大协议谁会成为行业标准?
人工智能
ai生成式引擎优化技术31 分钟前
双环自适应AI系统正式(DLAA):面向决策智能的双重反馈闭环生成式AI系统架构构思
人工智能
py有趣38 分钟前
力扣热门100题之接雨水
算法·leetcode
拥有一颗学徒的心1 小时前
国产大模型杀入决赛圈:GLM5.1 vs Qwen3.6-Plus vs Claude Opus 4.6,谁才是编程之王?
人工智能
nimadan121 小时前
剧本杀app2025推荐,多类型剧本体验与社交互动优势
人工智能·python