OpenCV C ++ и cvSmooth - PullRequest
       4

OpenCV C ++ и cvSmooth

1 голос
/ 27 марта 2011

Кто-нибудь знает, в чем может быть проблема:

cvSmooth(origImage, grayImage1, CV_BLUR,3);

Я получил ошибку:

error: cannot convert `cv::Mat' to `const CvArr*' for argument `1' to `void 
cvSmooth(const CvArr*, CvArr*, int, int, int, double, double)'

Если я использую:

cvtColor(origImage, grayImage, CV_BGR2GRAY);

Все работало нормально.захват с камеры ноутбука (в режиме реального времени).

Ответы [ 2 ]

9 голосов
/ 27 марта 2011

cv::Mat - это новая структура из версии OpenCV для C ++.cvSmooth() из старого C API.Не смешивайте интерфейс C с C ++!

. Я предлагаю вам уделить время, чтобы прочитать введение .

Кроме того, если вы отметите opencv/modules/imgproc/src/smooth.cppвы увидите, что cv::boxFilter() является эквивалентом cvSmooth(CV_BLUR) на новом интерфейсе C ++.

2 голосов
/ 27 марта 2011

Будьте осторожны, чтобы не смешивать OpenCV 1.x API (CvArr) с 2.x API (cv :: Mat). Я думаю, вы попробовали пример откуда-то.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...