- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有同一个物体,由同一台相机在两种不同的光照条件下拍摄。
假设我采用红色分量 A 的饱和度,在第二张图片中变为 A'。
如果我知道白色字母的饱和度是 B,我怎样才能很好地估计 B'?它们似乎具有依赖性,并且直观地认为它们实际上可能具有简单的数学依赖性,但我可能错了。
简单地说:当具有红色和灰色字母的原始图像饱和度以及第二张图像的红色饱和度时,找到第二张图片中灰色字母的预期饱和度。A、A'、B 从 0 到 1。
我可以为三个 HSV channel 分开这个等式吗?或者我应该做什么类型的转换?
我当前的代码围绕一个枢轴点(默认为 1)进行归一化,我发现当 B 接近零时它会失败:
float delta1 = (A - pivotpoint);
float delta1new = Aprime - pivotpoint;
float ratio = delta1new / delta1;
float delta2 = B - pivotpoint;
float delta2new = abs(ratio * delta2);
float Bprime = pivotpoint - delta2new;
最佳答案
我不确定我是否理解您想要做什么。但如果我没记错的话,我认为你应该尝试在 HSL 而非 HSV 中拆分你的 channel ,并在 Luminance 上工作。
#include "opencv2/opencv.hpp" int main(int ac, char **av){ cv::Mat src = cv::imread("./files/lena.jpg", -1); cv::Mat hls; // Create a hsv image with 3 channels and hue, sat e val with 1 channel. All with the same size std::vector hlsChannels; // Convert from Red-Green-Blue to Hue-Saturation-Luminance cv::cvtColor( src, hls, CV_RGB2HLS ); cv::split(hls, hlsChannels); cv::Mat hue = hlsChannels.at(0); cv::Mat lum = hlsChannels.at(1); cv::Mat sat = hlsChannels.at(2); for (int y = 0; y (y, x) += 20; } } hlsChannels.clear(); hlsChannels.push_back(hue); hlsChannels.push_back(lum); hlsChannels.push_back(sat); cv::Mat HLSColors; cv::Mat RGBColors; cv::merge(hlsChannels, HLSColors); cv::cvtColor(HLSColors, RGBColors, CV_HLS2RGB); cv::imwrite("lumLena.png", RGBColors); return 0; }
此外,请查看直方图均衡化,它可能是您工作的第一步。
希望对您有所帮助!
关于opencv - 饱和度、值重新映射以补偿光照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16483403/
我想将一些颜色值从众所周知的 HSL 转换为鲜为人知的 HSLum 怎么做? hsl(0, 1.0, 0.5) - rgb red is hslum(0, 1.0., 0.54) hsl(120,
让我们从viridis 调色板开始。在我看来,颜色对我来说有点太亮了,而且就我的目的而言,它们看起来太人造了。因此,我想应用某种透明度或类似的方法来降低饱和度: library(nord) libra
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: How can I get the average colour of an image 假设我正在制作一个
我有同一个物体,由同一台相机在两种不同的光照条件下拍摄。 假设我采用红色分量 A 的饱和度,在第二张图片中变为 A'。 如果我知道白色字母的饱和度是 B,我怎样才能很好地估计 B'?它们似乎具有依赖性
我正在尝试使用 google maps android sdk 在 android 上使用自定义 map 样式。大多数更改和自定义样式正在设置和工作。但是,在图标上设置饱和度或亮度不起作用 - 如果我
如何使用 Stylus 更改十六进制颜色值的色调和增加饱和度? 最佳答案 Stylus 实际上内置了这些功能。基于文档 hue , saturation : 以下应该有效: 色调(#00c, 90de
我正在尝试过滤位图图像以增加或减少色相、饱和度和亮度值。 我的代码运行良好,但速度很慢。 我在内存中锁定了两个位图,原始源和当前目标。用户可以移动各种 trackbar 控件来修改每个值,然后将其转换
我正在尝试创建一个应用程序,允许我通过调整上述每个字段的搜索栏来调整图像的色调、饱和度、亮度、对比度和清晰度。喜欢 http://ronbigelow.com/articles/workflow_ba
1 屏幕后处理流程 调整屏幕亮度、饱和度、对比度,需要使用到屏幕后处理技术。因此,本文将先介绍屏幕后处理流程,再介绍调整屏幕亮度、饱和度、对比度的实现。 本文完整资源见→ Un
如果您将鼠标悬停在图像上,我想让图像变暗。是否可以使用 JQuery(或 Javascript)更改图像的色调、饱和度或 Gamma ? 最佳答案 你试过吗PaintbrushJS或Pixastic图
我有一个“位图”类型,其中包含一些随机位图数据。我已经编写了自己的亮度、颜色、饱和度和色调调整,这些调整分别作用于每个位,毫不奇怪,速度非常慢。 在我的研究中,我注意到使用矩阵可以非常快地调整这些。此
假 --> HEX color:
我如何上下应用亮度而不是灰色?我一直在努力,但我只能把它变成灰色。 我的目标是调高和调低它的亮度。 当前代码: HTML Effects Brightness BEFOR
我正在使用静态 Google map API 来创建图像,理想情况下我想添加一些色调和饱和度样式,但当我将这些添加到网址时,我的图像会损坏。谁能告诉我哪里可能出错? HTML JSFiddle ht
我正在使用 OpenCV 构建一个应用程序,该应用程序使用网络摄像头并运行一些视觉算法。我想在完成后将此应用程序发布到互联网上,但我担心每台计算机上的相机设置差异很大,我担心如果设置与我的设置差异太大
我正在尝试使用 GPUImage 和 CIFilter 来映射此过滤器。请注意,我需要帮助将颜色(红色)特定(注意:不是大师,只是红色)photoshop 元素映射到 iOS。 有谁知道如何在 iOS
我有一个红色物体: red_object = UIColor.red.cgColor 我想获得这个“红色”的色调饱和度亮度和 alpha 参数,这样我就可以使用更具体的参数重新编码我的红色对象。 这个
只是简单的对比度和饱和度增强。没什么特别的。 最佳答案 因为 PIL 大部分时间都死了。安装 Pillow fork,sudo pip install pillow,并使用其 ImageEnhance
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在查看 an Apple example that uses core image filters to adjust Hue/saturation/brightness的图像。在这种情况下,输入
我是一名优秀的程序员,十分优秀!