如何用opencv-cv :: Scalar转换QT-QColor?

时间:2016-04-30 14:13:15

标签: qt opencv qcolor

我正在使用opencv+Qt(c++),我希望将QColor RGB像素转换为opencv BGR像素:

QColor --> cv::Scalar
cv::Scalar --> QColor 

2 个答案:

答案 0 :(得分:1)

您还没有使用编程语言。在python中,您可以使用如下命令:

cv2image=cv2.cvtColor(cv2image, cv2.COLOR_BGR2RGB)
cv2image=cv2.cvtColor(cv2image, cv2.COLOR_RGB2BGR)
cv2image=cv2.cvtColor(cv2image, cv2.COLOR_RGB2GRAY)

对于C ++,命令类似。

您可能还想查看此处:How to combine OpenCV with PyQt to create a simple GUI?

答案 1 :(得分:1)

qcolor - >标量

cv::Scalar qcolor2scalar(QColor color)
{
    int r,g,b;
    color.getRgb(&r, &g, &b);
    return cv::Scalar(b,g,r); // swap RGB-->BGR
}

标量 - >的QColor

QColor scalar2qcolor(cv::Scalar color)
{
    return QColor(color[2],color[1],color[0]); // swap RGB-->BGR
}
相关问题