如何编写一个opencv函数,将一个图像作为参数并返回2个图像



我想建立一个opencv函数,将一个IplImage图像作为参数并返回2个IplImage图像。这在opencv (c++)中可行吗?我更喜欢使用IplImage,但我会欣赏其他选项

您可以通过作为函数参数的引用传递来返回多个图像。例子:

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。你应该使用cv::Mat代替IplImage。

相关内容

  • 没有找到相关文章