- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我试图以 25fps 的速度流畅地显示视频文件,没有任何延迟。下面的代码执行此操作,但仅达到约 10fps,执行时间约为 0.1ms。使用 cvWaitKey(1) 我得到大约 0.03 到 0.04 毫秒,这将是完美的,但命名窗口只是保持灰色并且不显示视频!
这是因为 cvShowImage() 太慢了吗?有没有其他方法可以加快代码速度并顺利输出视频?
请参阅下面的代码。
提前致谢
阿德里安
#include <cv.h>
#include <iostream>
#include <highgui.h>
#include <cxcore.h>
#include <cvaux.h>
#include <sstream>
#include <time.h>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
CvCapture* vid = 0;
IplImage* input; //Input image
int fps;
int i=0;
clock_t start, end;
/*Creates the GUI to output the processed images*/
cvNamedWindow("Video input", 0);
/*Open input video*/
if (argc!=2)
{
cout << "Please specify an input video." << endl;
return -1;
}
else
{
vid=cvCreateFileCapture(argv[1]);
if (!vid)
{
cout << "Could not extract frame." << endl;
return -1;
}
}
input = cvQueryFrame(vid);
fps = (int)cvGetCaptureProperty(vid, CV_CAP_PROP_FPS);
cout << fps << endl;
cout << "Video found." << endl;
/*Extraction loop */
while (input)
{
start = clock();
cout << flush;
cout << i << "\r";
i++;
/*Show image*/
cvShowImage("Video input", input);
cvWaitKey(2); //Wait is needed or else we see a grey box
input = cvQueryFrame(vid); //Read next frame from video
end = clock();
cout << (double)(end-start)/CLOCKS_PER_SEC << " s" << endl;
};
/*Release the allocated memory for the frames */
cvReleaseImage(&input);
cvDestroyWindow("Video input");
return 1;
}
最佳答案
你试过没有所有 cout 的东西吗?
Microsoft STL 的调试版本具有 cout 处理,这几乎慢得令人难以置信。
关于c++ - 使用 cvShowImage() 显示滞后视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3351557/
好的。在 SO 的帮助下,我设法将这段代码放在一起。但是还有一个错误: // ... std::vector jpegBuffer(lSize); // copy the fi
实现cvCreateImage的命名空间的名称是什么?我如何使用命名空间访问此方法? .cvShowImage("Sample Program", frame); 最佳答案 整个过时的 c-api 不
有时openCV的cvshowimage不显示图像,而是显示一个黑色的空图像。 有谁知道为什么会发生这种情况以及何时发生? 最佳答案 cvShowImage(img); cvWaitKey(0); 确
我想用opencv加载图像。一切正常,但没有显示图像。我使用的代码在这里: #包括 #包括 #包括 using namespace cv; using namespace std; int ma
我试图以 25fps 的速度流畅地显示视频文件,没有任何延迟。下面的代码执行此操作,但仅达到约 10fps,执行时间约为 0.1ms。使用 cvWaitKey(1) 我得到大约 0.03 到 0.04
我在缓冲区中有一个 JPG 图像,我会尝试用 cvShowImage 显示它。但是,这不起作用: // buff is a JPEG image with 640*480 dimensions Ipl
我不想调整整个图像结构的大小,但我正在处理的图像太大而无法使用 cvShowImage 轻松查看。有没有办法在 cvShowImage 创建的窗口中调整 View 的大小? 最佳答案 不,没有,你必须
我想在窗口标题中添加中文文本,这是由 OpenCV 的 cvShowImage() 函数调用的。但它没有给出正确的结果。 #include #include "opencv2/opencv.hpp"
当我运行以下代码时,图像被保存并且我可以看到它们并且它们是我想要的目录中的内容,但是显示它们的调用会弹出 20 个窗口的级联,其中没有一个包含我的图像想要加载;所有的 window 都是灰色的。
我遇到了以前从未遇到过的 OpenCV 问题。当我使用 cv::imshow() 时,图像显示完美,但顶部栏上有奇怪的 ascii 字符而不是窗口名称,每隔几秒就会出现一个新窗口,名称不同,旧窗口卡住
我正在处理一些遗留的 OpenCV 代码(旧的 C 风格,太大而无法转换为 C++ 风格)并使用线程来尝试加快速度。显示是在其自己的线程中完成的,带有受互斥锁保护的缓冲图像。线程是使用 C++11 s
我正在使用三个 ptgrey相机获取图像并将它们保存到我的硬盘中。我正在使用 MultiCameraWriteToDiskEx示例,效果很好,但我还想在采集期间显示图像,因此我尝试将 FlyCaptu
这是我在 opencv 中使用 C 接口(interface)显示图像的代码 IplImage * mSrcImg = cvLoadImage("C:\\test.jpg");
我正在尝试从连接到 Windows 10 机器的 Orbbec Astra Pro 相机接收深度图像。我已经安装了 opencv-python 4.0.0.21和 primesense 2.2.0.3
import numpy as np import cv2 # first_method # img = cv2.imread('sample.jpg') # second_method # img
我是一名优秀的程序员,十分优秀!