OpenCV C++.返回垫子然后将其保存到文件
OpenCV C++. Returning a Mat then saving it to file
我不断得到这个基本代码的分段错误。我是C++新手,真的可以用手。这是导致问题的代码片段。
int main ()
{
cv::Mat pic1;
pic1 = takePicture();
imwrite("/home/pi/***/images/pic1.jpg", pic1);
}
cv::Mat takePicture(){
cv::Mat pic;
VideoCapture cam(0);
while(!cam.isOpened()){
std::cout << "Failed to make connection to cam" << std::endl;
VideoCapture cam(0);
}
cam >> pic;
return pic;
}
在发布此问题之前,我检查了以下链接,但所说的似乎没有帮助。我也尝试通过引用传递。OpenCV 在函数内更改垫子(垫子范围)
这就是看到你的代码的试运行告诉我的:-
当你说pic1 = takePicture()
时,它调用 cv::Mat 的复制构造函数。cv::Mat 的复制构造函数仅通过复制标头而不是整个数据来工作。因此,当pic
超出范围时,它的对象被销毁,数据也会被销毁。
你可以做pic1 = takePicture().clone()
有关复制构造函数的更多信息,请访问:https://stackoverflow.com/a/11019585/1933672
相关文章:
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- 从函数角度看ID到文件路径的内部与外部映射
- 写入文件 a.txt,而终端重定向到文件 b.txt
- 如何使用 fprintf 将连续的 512 字节保存到文件中
- 看不到文件'SDL2.lib'
- 将字符串存储到文件下一行的变量中
- 将类型保存到文件
- 如何将包含另一个对象向量的对象保存到文件中,并使用C++中的二进制文件从文件中读回?
- C++ 生成文件未检测到 .h 文件中的更改
- 如何存储 unicode 字符并将其输出到文件?
- 将结构向量保存到文件中,并从C++文件中读取结构向量
- 如何将QGraphicsItem QList保存到文件中,然后读取它?Qt c++
- 比较 JSON::Value 变量中的数据,然后更新到文件
- 为什么我的将向量保存到文件然后再次读出的方法不起作用?
- 通过将结构信息从二进制文件读取到数组中,然后返回到文件C
- Qt C++ 如何将加密文本的QByteArray保存到文件中,然后读取并格式化为QByteArray
- OpenCV C++.返回垫子然后将其保存到文件
- 从文件中读取,存储到链表中,然后再次打印到文件中
- 打印到控制台,然后创建文件并将控制台内容打印到文件中
- 如何将结构导出到文件,然后对文件进行内存映射