Qt:捕获图像而不保存 - QCameraImageCapture
Posted
技术标签:
【中文标题】Qt:捕获图像而不保存 - QCameraImageCapture【英文标题】:Qt: Capture image without saving - QCameraImageCapture 【发布时间】:2014-12-11 19:44:43 【问题描述】:我正在为我正在进行的项目使用 OpenCV 和 QCamera。
基本上,我希望用户输入他们想要捕获的帧数,然后相机将应用我使用 CUDA 和 CPU 实现编写的高斯滤波器拍摄该数量的图像。
然后返回数据并将其放入图表中,以便我可以分析性能差异。
我已经设置了我的大部分应用程序,但我在最后一个障碍中挣扎,我创建了一个 QCameraViewFinder
、QCameraImageCapture
和 QCamera
对象。然后在我的 while 循环中调用以下代码:
do
imageCapture->capture();
//cpu method call here
// Emit the frame number from the thread back to GUI for update
emit frameProcessed(QString::number(currFrame));
currFrame++;
frames--;
while(frames > 0);
如何提取imageCapture->capture
创建的图像而不将其保存到我的机器上?我关心的唯一数据是函数计算所需的时间(以毫秒为单位),因此无需保存原始图像数据。
【问题讨论】:
【参考方案1】:确保缓冲区目标受支持:
imageCapture.
isCaptureDestinationSupported(QCameraImageCapture::CaptureToBuffer)
如果有,设置缓冲目的地,缓冲格式和分辨率等。
最后,在连接到imageAvailable(int, const QVideoFrame &)
信号的槽中接收捕获的帧。
【讨论】:
以上是关于Qt:捕获图像而不保存 - QCameraImageCapture的主要内容,如果未能解决你的问题,请参考以下文章