如何在opencv(BGR到HSV)中将cvCvtColor转换为cvtColor调用?

时间:2014-02-06 22:15:46

标签: c++ opencv

我正在使用旧版opencv的C ++代码,使用它来将BGR转换为HSV -

cvCvtColor(frame, imgHSV, CV_BGR2HSV);
cvReleaseImage(&imgHSV);

其中frame和imgHSV是IplImage *对象

较新版本的opencv没有这种方法,我发现imgproc中的cvtColor()也是如此。但是这个方法使用cv :: InputArray和cv :: OutputAray格式代替IplImage *。如何将IplImage *格式转换并转换回这些新格式?还有其他方法可以将BGR转换为HSV for IplImage *我不知道吗?

1 个答案:

答案 0 :(得分:2)

在这里使用cv :: Mat而不是IplImage,一般来说,更喜欢c ++ api到弃用的c-api:

cv::Mat img = cv::imread("my.png");

cv::Mat hsv;
cv::cvtColor(frame, hsv, CV_BGR2HSV);
cv::imshow("hsv",hsv);
cv::waitKey();