opencv imencode() buffer exception
opencv imencode() buffer exception
我使用这些代码将Mat图像编码为.jpg格式。它正在处理小图像,但是当我放置大图像时,项目会给出例外
在 0x76377fb2 (ucrtbase.dll) 中未处理的异常 图像识别.exe: 0xC0000409: 0xc0000409.
我在Visual Studio 2015中使用opencv2.4.12,我的操作系统是Windows 10,这是我的代码块。
cv::threshold(image, image, 100, 255, cv::THRESH_BINARY + cv::THRESH_OTSU);
std::vector<uchar> buf;
imencode(".jpg", image, buf);
在调用 imencode() 之前尝试保留内存:
std::vector<uchar> buffer;
#define MB 1024*1024
buffer.resize(200* MB);
cv::imencode(".png", image, buffer);
解决这个问题的一些机会:
尝试在调用std::vector<uchar> buf(50000);
之前分配缓冲区我使用了这个解决方案,它对我有用。我会尽快将我的opencv版本升级到3.2
更新到 OpenCV 3.2 的好主意
相关文章:
- 为重写std::exception的库生成swig接口时出错
- 什么是 std::exception::what() 以及为什么要使用它?
- 链表"exception thrown"
- 为什么程序员同时使用 std::bad_alloc 和 std::exception.是否 std::例外 仅是不够的
- C++ broken_promise exception
- 如何"buffer" UNIX 信号
- 请参阅在 Visual Studio 2019 中捕获 std::exception 时对函数模板实例化消息的引用
- QVTKWidget SetRenderWindow() with PCLVisualizer Exception
- 什么是 Direct3D 12.0 上的"Map Default Buffer"?
- 自定义派生的 std::exception 类的 'what' 函数返回神秘的废话
- 使用flag、return、exception、goto或break中止过程
- VC++ wcscpy_s随机断言"Buffer is too small"
- 由于某种原因,我的代码中出现了 [json.exception.type_error.302]。我知道错误意味着什么,但我不知道哪里有故障
- 将uint8_t*buffer和size_tbufferlen从C++传递到C中的API函数的最佳方式是什么
- 派生自 std::exception 的类的赋值运算符
- 尝试打印字符串时"Python Exception <class 'gdb.error'> There is no member named _M_dataplus."
- std::exception :使用虚函数和继承与变量
- MFC ODBC SQLConfigDataSource() Unhandled Exception
- boost::asio::buffer 如何遍历字节
- opencv imencode() buffer exception