1

私は、最終的にオブジェクト追跡などを含む作業プロジェクトのためにOpenCVを自分自身に教えています。そして、今は基本に慣れようとしています。ウェブカメラから画像を取得し、それらをグレースケールに変換してしきい値を設定し、ウィンドウに印刷することを目的としたコードのチャンクがあります。私はこのエラーを受け取り続けます:

"パラメータ1を'cv::Mat'から'constCvArr*'に変換できません"

このコードで:

#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;
}

問題は、Canny()などの他の関数が機能しているように見えることです...しきい値を機能させることができません。考え?ありがとう!

4

1 に答える 1

3

cvThresholdOpenCVのCインターフェースから機能を使用しています。一方、入力画像はcv::MatC++インターフェイスからのタイプです。

の対応するC++関数はcvThresholdですcv::thresholdcvThresholdに置き換えるだけcv::thresholdです。

于 2013-02-13T06:09:29.707 に答える