(1)opencv4中未定义标识符CV_CAP_PROP_FPS;CV_CAP_PROP_FRAME_COUNT;CV_CAP_PROP_POS_FRAMES问题
这次的问题是想要读取一段视频,但是在编写代码的过程中出现了未定义表示的问题,报错结果如下:、
经过多方查询,发现是由于opencv版本更新过快,opencv4中有许多标识符发生了更改,对于下列这三个标识符做出如下更改:
CV_CAP_PROP_FPS -> CAP_PROP_FPS
CV_CAP_PROP_FRAME_COUNT -> CAP_PROP_FRAME_COUNT
CV_CAP_PROP_POS_FRAMES -> CAP_PROP_POS_FRAMES
并且如果前面没有定义cv的命名空间的话(using namespace cv;)则要用cv::CAP_PROP_FRAME_COUNT,这样的话就不会报错啦。
(2)opencv4中未定义标识符CV_FONT_HERSHEY_SIMPLEX
CV_FONT_HERSHEY_SIMPLEX --> FONT_HERSHEY_SIMPLEX
(3)CV_FOURCC
CV_FOURCC --> cv::VideoWriter::fourcc
(4)
cv::Mat pano;
bool try_use_gpu = false;
cv::Stitcher stitcher = cv::Stitcher::createDefault(try_use_gpu);
cv::Stitcher::Status status = stitcher.stitch(imgs, pano); //找寻待拼接的两幅图的旋转角度 并生成最后的全景图 这个函数才是要分析的重头戏!
if (status != Stitcher::OK) //确保拼接成功
{
cout << "Can't stitch images, error code = " << int(status) << endl;
return ;
}
cv::namedWindow("stitching result");
cv::imshow("stitching result", pano);
waitKey(0);
这段code在opencv3.4.11可以用
但是opencv升级到4.5.5不可用
参考链接:
https://blog.csdn.net/Zhongai0049/article/details/116423037