前提:
1.opencv可以打开、显示、灰度化并保存图像;
2.路径没有错误;
3.打开视频报以下错误:
[ERROR:0] global D:\opencv\sources\modules\videoio\src\backend_plugin.cpp (227) PluginBackend Video I/O: wrong OpenCV minor version used by plugin 'FFmpeg OpenCV Video I/O plugin': 4.1, OpenCV version is '4.2.0'
4.代码如下:
#include<iostream>
#include<opencv2/opencv.hpp>
int rotate_video(std::string dir_src,std::string video_name,std::string save_dir_src){
std::string video_src=dir_src+"\\"+video_name;
std::string save_video_src=save_dir_src+"\\"+video_name;
cv::VideoCapture capture;
// capture.open(0);// 打开摄像头
capture.open(video_src);// 打开文件
if (!capture.isOpened()) {
printf("read video file failed !\n");
return -1;
}
int type = static_cast<int>(cv::VideoWriter::fourcc('m', 'p', '4', 'v'));
std::cout<<static_cast<int>(capture.get(cv::CAP_PROP_FOURCC))<<std::endl;
cv::Size S = cv::Size((int)capture.get(cv::CAP_PROP_FRAME_WIDTH), (int)capture.get(cv::CAP_PROP_FRAME_HEIGHT));
double fps = capture.get(cv::CAP_PROP_FPS);
// int fps=20;
printf("FPS: %d \n", fps);
cv::VideoWriter out(save_video_src, type, fps, S, true);
cv::Mat frame;
int index=0;
while (capture.read(frame)) {
// imshow("src", frame);
cv::Mat cropped_image = frame(cv::Range(960,1920),cv::Range(0,1280));
cv::Mat rotate_crop_image;
cv::flip(cropped_image,rotate_crop_image,-1);
cv::Mat frame_roi=frame(cv::Range(960,1920),cv::Range(0,1280));
rotate_crop_image.copyTo(frame_roi);
// cv::imshow("src",frame);
// cv::waitKey(0);
out.write(frame);
index+=1;
std::cout<<"正在转换:"<<video_name<<" "<<index<<std::endl;
}
capture.release();
out.release();
return 0;
}
int main() {
std::string dir_src,save_dir_src,video_name;
std::cout<<"请输入video文件夹路径:"<<std::endl;
std::cin>>dir_src;
std::cout<<std::endl;
std::cout<<"请输入save video文件夹路径:"<<std::endl;
std::cin>>save_dir_src;
std::cout<<std::endl;
std::cout<<"请输入video 名称:"<<std::endl;
std::cin>>video_name;
std::cout<<std::endl;
rotate_video(dir_src,video_name,save_dir_src);
}
5.代码功能:输入一个视频,旋转左下角区域180度。
解决方法:
1.重新下载此三个文件(https://www.cnblogs.com/huluwa508/p/10142718.html)
其中,MD5码获得方法为
2.执行(VScode配置opencv_opencv vscode配置-CSDN博客)2.3步骤;