gpt4 book ai didi

c++ - opencv:将 iplimage 转换为 mat 后出错

转载 作者:行者123 更新时间:2023-11-28 05:49:50 25 4
gpt4 key购买 nike

我需要将垫子转换为 iplimage 并返回,以便画一条线。到目前为止我的代码:

Mat mat = imread(path);
Point p,q;
...
imwrite(path1,mat1);
IplImage img = mat1;
cvDrawLine(&img,p,q,Scalar(0,0,255));
mat1 = Mat(&img); //i also tried mat1=&img;
imwrite(path2,mat1);

第一个 imwrite 有效,但在第二个,我得到一个异常。有什么想法吗?

最佳答案

您可以使用 cv::cvarrToMatCvMatIplImageCvMatND 转换为 Mat

对于你的情况,它会像:

mat1 = cv::cvarrToMat(&img, true); 

PS:正如@Miki 所说,您应该避免使用过时的 C OpenCV API。使用 C++ API,它只是:

cv::line(mat1, p, q, cv::Scalar(0, 0, 255));

关于c++ - opencv:将 iplimage 转换为 mat 后出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35503030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com