0
我使用opencv+Qt(c++)
,我想一個QColor RGB
像素轉換爲opencv BGR
像素:如何使用opencv-cv :: Scalar在QT-QColor之間進行轉換?
QColor --> cv::Scalar
cv::Scalar --> QColor
我使用opencv+Qt(c++)
,我想一個QColor RGB
像素轉換爲opencv BGR
像素:如何使用opencv-cv :: Scalar在QT-QColor之間進行轉換?
QColor --> cv::Scalar
cv::Scalar --> QColor
的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
}
您還沒有給出一個編程語言。在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?
你可能想換B和R ,因爲在OpenCV中你通常在BGR上工作,而在RGB中是Qt。您也應該使用qreal變體'getRgbF',因爲標量包含雙倍 – Miki
謝謝您的提醒! –