自学内容网 自学内容网

C++定义函数指针变量作为形参

笔者定义了一个函数用于读取相机中存储的图像

int ReadBuffer(cv::Mat &image,bool saveFlag,QByteArray imageName){
    //省略若干语句
    cv::Mat getImage;
    getImage = cv::Mat(stImageInfo.nHeight,stImageInfo.nWidth,CV_8UC1,pDate);
    getImage.copyTo(image);
    getImage.release();
}

调用该函数:

cv::Mat *imagePtr = NULL;
CMvCamera *cameraPtr = NULL;
cameraPtr->ReadBuffer(*imagePtr,false,"");

当 ReadBuffer 函数执行完毕后,imagePtr 所指向的 cv::Mat 对象将包含getImage 的内容,之后在使用imagePtr变量时,如imagePtr ->col,相当于取图像getImage变量的列。

getImage.copyTo(image); 将 getImage 的内容复制到通过引用传递进来的 image 参数中。由于 image 是通过 *imagePtr 传递的,这意味着复制操作实际上是在修改 imagePtr 所指向的 cv::Mat 对象。


原文地址:https://blog.csdn.net/m0_63564748/article/details/144030814

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!