如何用imcodecs编译opencv?
How to compile opencv with imcodecs?
所以为了扩展,我一直无法将图像写入文件,并且我已经在文档中读到我需要使用正确的标志进行 cmake,但是没有提到我需要使用哪个标志和什么使它相等。
OpenCV Error: Unspecified error (could not find a writer for the specified extension) in imwrite_, file /home/User/Desktop/opencv/modules/imgcodecs/src/loadsave.cpp, line 45
现在我 运行 是
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=/home/User/Desktop/opencv_contrib/modules WITH_PNG WITH_JPEG CMAKE_INSTALL_PREFIX=/usr/local ..
带有额外的 WITH_PNG 和 WITH_JPEG 可以正常编译的标志,但是当我遇到同样的问题时运行 我的代码,所以我认为这些是错误的。
在构建过程中,这是我收到的输出
.
.
.
Media I/O:
-- ZLib: /usr/lib/x86_64-linux-gnu/libz.so (ver 1.2.8)
-- JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so (ver )
-- WEBP: build (ver 0.3.1)
-- PNG: /usr/lib/x86_64-linux-gnu/libpng.so (ver 1.2.50)
-- TIFF: /usr/lib/x86_64-linux-gnu/libtiff.so (ver 42 - 4.0.3)
-- JPEG 2000: /usr/lib/x86_64-linux-gnu/libjasper.so (ver 1.900.1)
-- OpenEXR: build (ver 1.7.1)
-- GDAL: NO
.
.
.
据我了解,错误表明它看错了地方?但是我一点线索都没有。
为了澄清我可以读取图像我只是不能将 Mats 保存到文件中,我尝试将其转换为 CV_16UC1 和 CV_8UC1 但仍然有同样的问题,程序退出openCV 错误。
我试过 jpg jpeg bmp,none 似乎可行。
我是 运行 linux mint rosa,刚从 git 下载了 opencv 3.1。
我认为问题不在于 OpenCV 构建(我 100% 确定它能够在没有第 3 方组件的情况下保存图像),但可能是对 create/write 文件的权限或目标路径有问题。确保路径存在。
所以这是编译器无法识别的拼写错误,很可能是因为我在将路径传递给 imwrite 之前将字符串连接在一起。
定义路径的时候不小心用到了
const String folderName="PATH"
我的意思是
const string folderName="PATH"
注意string和String
的区别
所以为了扩展,我一直无法将图像写入文件,并且我已经在文档中读到我需要使用正确的标志进行 cmake,但是没有提到我需要使用哪个标志和什么使它相等。
OpenCV Error: Unspecified error (could not find a writer for the specified extension) in imwrite_, file /home/User/Desktop/opencv/modules/imgcodecs/src/loadsave.cpp, line 45
现在我 运行 是
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=/home/User/Desktop/opencv_contrib/modules WITH_PNG WITH_JPEG CMAKE_INSTALL_PREFIX=/usr/local ..
带有额外的 WITH_PNG 和 WITH_JPEG 可以正常编译的标志,但是当我遇到同样的问题时运行 我的代码,所以我认为这些是错误的。
在构建过程中,这是我收到的输出
.
.
.
Media I/O:
-- ZLib: /usr/lib/x86_64-linux-gnu/libz.so (ver 1.2.8)
-- JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so (ver )
-- WEBP: build (ver 0.3.1)
-- PNG: /usr/lib/x86_64-linux-gnu/libpng.so (ver 1.2.50)
-- TIFF: /usr/lib/x86_64-linux-gnu/libtiff.so (ver 42 - 4.0.3)
-- JPEG 2000: /usr/lib/x86_64-linux-gnu/libjasper.so (ver 1.900.1)
-- OpenEXR: build (ver 1.7.1)
-- GDAL: NO
.
.
.
据我了解,错误表明它看错了地方?但是我一点线索都没有。
为了澄清我可以读取图像我只是不能将 Mats 保存到文件中,我尝试将其转换为 CV_16UC1 和 CV_8UC1 但仍然有同样的问题,程序退出openCV 错误。
我试过 jpg jpeg bmp,none 似乎可行。
我是 运行 linux mint rosa,刚从 git 下载了 opencv 3.1。
我认为问题不在于 OpenCV 构建(我 100% 确定它能够在没有第 3 方组件的情况下保存图像),但可能是对 create/write 文件的权限或目标路径有问题。确保路径存在。
所以这是编译器无法识别的拼写错误,很可能是因为我在将路径传递给 imwrite 之前将字符串连接在一起。
定义路径的时候不小心用到了
const String folderName="PATH"
我的意思是
const string folderName="PATH"
注意string和String
的区别