OpenJPEG的opj_encode是seg错误
opj_encode for OpenJPEG is seg faulting
我是OpenJPEG的新手,正在尝试使用它的库来创建一个c++应用程序,该应用程序接收图像文件并将其编码为J2k格式。我创建默认参数opj_set_default_encoder_parameters(¶ms)
并设置outfile值。使用这些参数,我创建图像image = bmptoimage(filename, ¶ms)
,并将参数的x和y设置为图像大小。opj_setup_encoder(encoder, ¶ms, image)
返回成功,但返回以下代码:
opj_start_compress(encoder, image, stream);
opj_encode(encoder, stream); //seg fault here
opj_end_compress(encoder, stream);
我在opj_encode函数中得到一个信号11seg故障。
我想我没有设置一个重要的参数,但我找不到任何东西来指示它可能是哪个参数。它可能是什么参数?
也可能是我创建的流对象stream = opj_stream_create_default_file_stream(params.outfile, OPJ_FALSE);
不正确
感谢
更新
我已经发现opj_encode
是seg故障,因为opj_start_compress正在失败。它失败,并返回错误"分辨率的数量与瓦片的大小相比太高"。我已经输入了params.numresolution = 1;
(0导致malloc错误),但我仍然得到相同的错误。知道opj_start_compress
为什么会失败吗?
我刚刚称之为已应答。由于opj_start_compress
未成功,opj_encode
失败。在编码之前进行检查以验证opj_start_compress
的成功修复了seg故障。
相关文章:
- C++ - 将元素按升序插入数组的 SEG 错误
- 为什么我在使用 istream 迭代器时会出现 seg 错误?
- 字符串上的合并排序上的 Seg 错误
- 导致 Seg 错误的 SingleLinkedList 的析构函数
- g++ 9.2.1 (Linux) 会导致 seg 错误,但 Windows 上的代码块不会
- 函数抛出seg错误,我不知道为什么
- Microsoft Visual Studio 2019交叉编译CMake库 - 有效,但存在SEG错误
- 由于相同的文件名/类名存在于不同的SO中而导致的SEG错误
- 尝试访问 3D 矢量中的元素时出现 Seg 错误
- 垫子对象数组太大会导致 Seg 错误
- 为什么push_back成矢量<矢量<int>>导致 seg 错误?
- 在向量中存储字符串存在 SEG 错误
- 更改本地类名时出现 seg 错误
- 使用 ->GetString( " ") 时出现 Seg 错误,它位于单独的类中
- 将字符数组转换为 std::string 以传递到 std::bitset seg 错误
- 字符和 int 连接何时会导致 seg 错误?
- 静态数组溢出堆栈(seg 错误 11)仅在类定义内部时,否则不会..?
- .EOF 在读取文件时导致 Seg 错误:FIXXED
- 在 qt5 中使用 QSharedPointer 时出现 Seg 错误
- 为什么我的 if 语句会出现 seg 错误?