2013-02-13 6 views
1

저는 결국 객체 추적 등을 포함하는 작업 프로젝트를 위해 OpenCV를 가르치고 있습니다. 그리고 저는 지금 당장 기본에 익숙해 지려고합니다. 나는 웹캠에서 이미지를 간단히 잡아서 그레이 스케일과 임계 값으로 변환하고 창에 출력하는 코드 덩어리를 가지고있다. 이 코드웹캠의 임계 값 이미지

"cannot convert parameter 1 from 'cv::Mat' to 'const CvArr *'"

: :이 오류가 계속

#include <opencv2/opencv.hpp> 
#include <opencv2/highgui/highgui.hpp> 

using namespace cv; 

int main() 
{ 
    Mat img; 
    VideoCapture cap(0); 

    while (true) 
    { 
     cap >> img; 

     Mat tHold; 
     cvtColor(img, tHold, CV_BGR2GRAY); 
    cvThreshold(tHold, tHold, 50, 255, CV_THRESH_BINARY); 

     imshow("Thresholded Image", tHold); 
     waitKey(1); 
    } 

    return 0; 
} 

것은 다른 기능 등 영리한()처럼 ... 난 그냥 임계 값을 얻을 수없는, 제대로 작동한다는 것입니다 일하다. 생각? 감사!

답변

3

OpenCV의 C 인터페이스에서 cvThreshold 함수를 사용하고 있습니다. 반면 입력 이미지는 C++ 인터페이스의 cv::Mat 유형입니다.

cvThreshold의 해당 C++ 기능은 cv::threshold입니다. cvThresholdcv::threshold으로 바꿉니다.