繁体   English   中英

cvSaveImage 未在此 scope OpenCV3.4 中声明

[英]cvSaveImage was not declared in this scope OpenCV3.4

我的老师为我提供了一个可能基于OpenCV 2 或 3的项目的源代码。

我尝试运行它,但出现错误:在此 scope 中未声明“cvSaveImage”。 像这样:

root@qrh-pc:/home/qrh/文档/TrafficSignQtProgram/build# make
Scanning dependencies of target TREFFIC_SIGN_QT_PROJECT
[  3%] Building CXX object bin/CMakeFiles/TREFFIC_SIGN_QT_PROJECT.dir/Camera.cpp.o
/home/qrh/文档/TrafficSignQtProgram/TrafficSignBlockCalProject/src/Camera.cpp: In member function ‘void CCamera::renderImage()’:
/home/qrh/文档/TrafficSignQtProgram/TrafficSignBlockCalProject/src/Camera.cpp:380:5: error: ‘cvSaveImage’ was not declared in this scope
     cvSaveImage(imageSaveFileName.c_str(), img);
     ^~~~~~~~~~~
/home/qrh/文档/TrafficSignQtProgram/TrafficSignBlockCalProject/src/Camera.cpp:380:5: note: suggested alternative: ‘cvShowImage’
     cvSaveImage(imageSaveFileName.c_str(), img);
     ^~~~~~~~~~~
     cvShowImage
/home/qrh/文档/TrafficSignQtProgram/TrafficSignBlockCalProject/src/Camera.cpp: In member function ‘void CCamera::renderImage(CameraParams, pcl::PointCloud<pcl::PointXYZRGBL>::Ptr, pcl::PointIndices&)’:
/home/qrh/文档/TrafficSignQtProgram/TrafficSignBlockCalProject/src/Camera.cpp:511:5: error: ‘cvSaveImage’ was not declared in this scope
     cvSaveImage(imageSaveFileName.c_str(), img);
     ^~~~~~~~~~~
/home/qrh/文档/TrafficSignQtProgram/TrafficSignBlockCalProject/src/Camera.cpp:511:5: note: suggested alternative: ‘cvShowImage’
     cvSaveImage(imageSaveFileName.c_str(), img);
     ^~~~~~~~~~~
     cvShowImage
/home/qrh/文档/TrafficSignQtProgram/TrafficSignBlockCalProject/src/Camera.cpp: In member function ‘void CCamera::renderImageCalOccludeCloud(CameraParams, pcl::PointCloud<pcl::PointXYZRGBL>::Ptr, pcl::PointCloud<pcl::PointXYZRGBL>::Ptr)’:
/home/qrh/文档/TrafficSignQtProgram/TrafficSignBlockCalProject/src/Camera.cpp:659:5: error: ‘cvSaveImage’ was not declared in this scope
     cvSaveImage(imageSaveFileName.c_str(), img);
     ^~~~~~~~~~~
/home/qrh/文档/TrafficSignQtProgram/TrafficSignBlockCalProject/src/Camera.cpp:659:5: note: suggested alternative: ‘cvShowImage’
     cvSaveImage(imageSaveFileName.c_str(), img);
     ^~~~~~~~~~~
     cvShowImage
bin/CMakeFiles/TREFFIC_SIGN_QT_PROJECT.dir/build.make:81: recipe for target 'bin/CMakeFiles/TREFFIC_SIGN_QT_PROJECT.dir/Camera.cpp.o' failed
make[2]: *** [bin/CMakeFiles/TREFFIC_SIGN_QT_PROJECT.dir/Camera.cpp.o] Error 1
CMakeFiles/Makefile2:133: recipe for target 'bin/CMakeFiles/TREFFIC_SIGN_QT_PROJECT.dir/all' failed
make[1]: *** [bin/CMakeFiles/TREFFIC_SIGN_QT_PROJECT.dir/all] Error 2
Makefile:102: recipe for target 'all' failed
make: *** [all] Error 2
root@qrh-pc:/home/qrh/文档/TrafficSignQtProgram/build# 

OpenVC 3.4 是我的版本,我尝试包含许多头文件,但它不起作用。

#include "opencv2/opencv.hpp"
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/highgui/highgui_c.h"
#include "opencv2/videoio.hpp"
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/imgproc/imgproc.hpp"
#include <opencv2/imgcodecs.hpp>

cvSaveImageopenCV2支持。 openCV3openCV4中支持的替代方法是imwrite方法。 有关更多信息,请查看此链接

C++:
bool cv::imwrite    (   const String &  filename,
InputArray  img,
const std::vector< int > &  params = std::vector< int >() 
)       
Python:
retval  =   cv.imwrite( filename, img[, params] )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM