I使用多线程进行图像细化和保存
IMage elaboration and saving using Multithreading
我用C++编写了一个软件,使用openCV库处理来自相机的视频流。我想在处理视频帧时保存它,以便可以使用完全相同的视频作为输入离线运行代码多次。我想使用生产者/消费者模式来使用多线程。
我的想法是有一个生产者(帧抓取器)和两个消费者(一个用于处理图像,另一个用于将帧保存在文件中(作为视频))。
我没有多线程编程的经验,所以我在网上搜索了一些教程。我找到的所有教程都是关于一个生产者和一个消费者的,但我需要的略有不同:我需要的是一个生产者向两个消费者发送相同的图像,在两个消费者完成工作后,继续下一帧。关键是,生产者将有一个存储帧的队列,而消费者都需要从同一队列中读取同一元素一次。
你有什么建议吗?你认为我选择的款式适合我的需要吗?
谢谢。
生产者-消费者工作。在您的情况下,生产者可以"生产"两次,首先将其放入处理队列,然后将第二个副本放入保存队列。
相关文章:
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- OpenCV EqualizeHist()从彩色图像创建黑白图像
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 平均图像时图像损坏
- 在C++中使用GDAL可以将图像的像素坐标转换为lat,long吗
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- Vulkan验证层不断在VkQueuePresentKHR()上抛出图像布局错误
- 使用FFMPEG将RGB图像序列保存到.mp4时出现问题
- 将RGB图像保存为PPM格式
- 将图像添加到资源文件夹UWP C++
- 彩色图像的卤化物处理平均值
- C++射线示踪剂ppm表示没有足够的数据来显示图像
- 重新定位图像时如何前进到下一个内存块
- 如何使用按钮更新GTK3图像以使用C++从相机捕获图片
- 为什么 BMP 图像上的 imwrite 会卡住/不返回?
- Gstreamer:每 5 秒使用多文件墨水保存图像/jpeg
- 如何使用CImg打开图像?
- 如何使用 OpenCV 解码在两个 UWP 应用之间发送的图像字节?
- I使用多线程进行图像细化和保存