2016-04-30 5 views

答えて

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 
} 
+0

あなたはおそらく、BとRを交換したいですなぜなら、OpenCVでは、通常はBGRで作業し、QtではRGBで作業するからです。 Scalarにはdoubleが含まれているので、qrealのvariant、 'getRgbF'を使うべきです – Miki

+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?

関連する問題