Search code examples
qtopencvqcolor

How to convert between QT-QColor with opencv-cv::Scalar?


I am using opencv+Qt(c++) and I want convert a QColor RGB pixel to an opencv BGR pixel:

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

Solution

  • qcolor --> scalar

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

    scalar --> qcolor

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