read frame code

main
FengHua0208 2024-11-28 12:58:19 +08:00
parent dcbd70c391
commit e7e36aec1e
1 changed files with 27 additions and 0 deletions

View File

@ -45,10 +45,37 @@ imgshow大约花费3.5ms单帧图像imgshow的操作
使用python opencv读取一段视频仅进行读取消耗时间在25ms左右。 使用python opencv读取一段视频仅进行读取消耗时间在25ms左右。
```
while True:
frame_time = time.time()
ret, frame = cap.read()
if not ret:
print("End of video or failed to read frame.")
break
# 显示当前帧
cv2.imshow("Video Playback", frame)
frame_time = time.time() - frame_time
print(f"frame cost: {1000*frame_time:.2f} ms")
```
![1](./image/1.jpg) ![1](./image/1.jpg)
使用c++ opencv读取一段时间仅进行读取消耗时间在30ms左右但也有40ms+和50ms+以及10ms的情况不太稳定。 使用c++ opencv读取一段时间仅进行读取消耗时间在30ms左右但也有40ms+和50ms+以及10ms的情况不太稳定。
```
while (true) {
int64 t = getTickCount();
// 读取视频帧
cap >> frame;
// // 显示当前帧
// cv::imshow("Video Playback", frame);
int64 t1 = getTickCount()-t;
std::cout << frame_num << " frame cost:"<< t1*1000/cv::getTickFrequency()<< "ms" << std::endl;
frame_num++;
}
```
![2](./image/2.jpg) ![2](./image/2.jpg)
c++不添加指定帧率cap.set(cv::CAP_PROP_FPS, 30)读取帧率速度花费时间会很长不添加指定帧率的情况下读取一帧需要200ms。 c++不添加指定帧率cap.set(cv::CAP_PROP_FPS, 30)读取帧率速度花费时间会很长不添加指定帧率的情况下读取一帧需要200ms。