0

パラメータとして 1 つの IplImage イメージを受け取り、2 つの IplImage イメージを返す opencv 関数を作成したいと考えています。これはopencv(c ++)で実行できますか。IplImageを使用している方が好きですが、他のオプションをいただければ幸いです

4

1 に答える 1

0

関数の引数として参照渡しすることで、複数の画像を返すことができます。例:

void myFunction(const cv::Mat& input_image, cv::Mat &output1, cv::Mat &output2) {
    // modify output1
    input_image.copyTo(output1);
    rectangle(output1, cv::Rect(10,10,100,100), cv::Scalar(0,0,255), 2);

    // modify output2
    cvtColor(input_image,output2,CV_RGB2GRAY); 
}

int main() {
    cv::Mat input_image = imread("sample.jpg");
    cv::Mat out1, out2;

    myFunction(input_image, out1, out2);

    // now out1 and out2 are modified by myFunction
}

例は cv::Mat ですが、IplImage でも同じことができます。IplImage の代わりに cv::Mat を使用する必要があります。

于 2013-05-09T20:33:58.223 に答える