2022-09-16 乐帮网
opencv
直接上代码:
public void Run()
{
var capture = new VideoCapture();
capture.Set(CaptureProperty.FrameWidth, 640);
capture.Set(CaptureProperty.FrameHeight, 480);
capture.Open(-1);
if (!capture.IsOpened())
throw new Exception("capture initialization failed");
var fs = FrameSource.CreateCameraSource(-1);
var sr = SuperResolution.CreateBTVL1();
sr.SetInput(fs);
using (var normalWindow = new Window("normal"))
using (var srWindow = new Window("super resolution"))
{
var normalFrame = new Mat();
var srFrame = new Mat();
while (true)
{
capture.Read(normalFrame);
sr.NextFrame(srFrame);
if (normalFrame.Empty() || srFrame.Empty())
break;
normalWindow.ShowImage(normalFrame);
srWindow.ShowImage(srFrame);
Cv2.WaitKey(100);
}
}
}
private void workerDoReadVideo(object sender, DoWorkEventArgs e)
{
using (var capture = new VideoCapture(@"..\..\Videos\drop.avi"))
{
var interval = (int)(1000 / capture.Fps);
using (var image = new Mat())
{
while (_worker != null && !_worker.CancellationPending)
{
capture.Read(image);
if (image.Empty())
{
break;
}
_worker.ReportProgress(0, image);
Thread.Sleep(interval);
}
}
}
}
private static double getFps(VideoCapture capture)
{
using (var image = new Mat())
{
while (true)
{
/* start camera */
capture.Read(image);
if (!image.Empty())
{
break;
}
}
}
using (var image = new Mat())
{
double counter = 0;
double seconds = 0;
var watch = Stopwatch.StartNew();
while (true)
{
capture.Read(image);
if (image.Empty())
{
break;
}
counter++;
seconds = watch.ElapsedMilliseconds / (double)1000;
if (seconds >= 3)
{
watch.Stop();
break;
}
}
var fps = counter / seconds;
return fps;
}
}
关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com
庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。
如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力