最近在做ffmpeg推流gpu性能测试,需求是先将视频转换成图片保存,标记图片后再转成视频流。这是一个小demo实现用opencv 读取文件目录下所有的图片并给图片画框。
#include <iostream>
#include <string>
#include <vector>
#include "opencv2/opencv.hpp"
int main()
{
std::vector<std::string> files;
std::string filepath = "video/*.jpeg";
cv::glob(filepath, files, false);
size_t count = files.size();
for (int i = 0; i < count; i++) {
cv::Mat mat = cv::imread(files[i]);
cv::rectangle(mat,cvPoint(5,5),cvPoint(200,200),(0, 0, 255), 3, 8, 0); //画矩形框
cv::imwrite(files[i], mat);
std::cout << files[i] << std::endl;
}
return 0;
}