我想以编程方式像Color balance
中的Photoshop
一样做同样的事情,如下图所示
如果我们在Photoshop中具有相同的条形位置,那么我们如何在OpenCV中进行设置,因为我不了解的问题是,我们具有RGB
格式的图像,可以将其转换为其他颜色格式,但是如何理解这些值(如果PS中的Cyan等级为-20,我们是否需要减去OpenCV中的Cyan值?还是需要添加?)并在OpenCV中执行相同的操作,
例如,如果我需要更改Cyan
,Magenta
和Blue
的值,是否需要先转换图像以在Cyan和洋红色中添加值,然后再将其转换回BGR
然后增加blue
?
并且在OpenCv中是否有针对Shadows , MidTones and Highlight
的内置函数
我正在尝试这样的事情
Mat img = imread("E:\\raw_3.jpg");
vector<Mat> colors;
split(img,colors);
colors[0] += 69;
colors[1] += 40 ;
colors[2] -= 23 ;
merge(colors,img);
imshow("image" , img);
imwrite("E:\\color_balance.jpg",img);
waitKey();
对于青色-红色= -23洋红色-绿色= 40黄色-蓝色= 69但是我没有得到应有的准确结果
最佳答案
1,尝试一下-您要做的就是更改符号,然后重新编译!
2,了解其他color representations-您几乎永远不想直接在RGB中进行这种操作。
颜色令人惊讶地复杂,color faq是一个很好的起点
关于image - 尝试使用opencv使Photoshop达到色彩平衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23312898/