OpenCV:将标量转换为不同的色彩空间 [英] OpenCV: convert Scalar to different color space
本文介绍了OpenCV:将标量转换为不同的色彩空间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用Scalar
定义使用OpenCV
绘制的矩形的颜色:
I am using a Scalar
to define the color of a rectangle I am drawing with OpenCV
:
rectangle(imgOriginal, Point(0, 0), Point(25, 50), Scalar(H, S, V), CV_FILLED);
但是,颜色是在HSV颜色空间中定义的,而不是RGB(imgOriginal
是RGB).
However, the color is defined in HSV color space rather than RGB (imgOriginal
is RGB).
如何将Scalar
(或其输入,整数变量H
,S
和V
)转换为RGB?
How do I convert Scalar
(or its input, the integer variables H
, S
, and V
) to RGB?
(到目前为止,我只找到了答案,告诉我如何使用cvtColor
转换整个图像,这不是我想要的.)
(So far I only found answers telling me how to convert a whole image with cvtColor
which is not what I want.)
推荐答案
虽然不是最佳方法,但您可以使用以下方法:
Although not optimal, You can use the following:
Scalar ScalarHSV2BGR(uchar H, uchar S, uchar V) {
Mat rgb;
Mat hsv(1,1, CV_8UC3, Scalar(H,S,V));
cvtColor(hsv, rgb, CV_HSV2BGR);
return Scalar(rgb.data[0], rgb.data[1], rgb.data[2]);
}
这篇关于OpenCV:将标量转换为不同的色彩空间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文