使用opencvsharp在c# winform的pictureBox上播放视频

本文介绍了如何在C# Winform应用程序的pictureBox控件上使用OpenCVSharp播放视频,虽然播放流畅无卡顿,但发现内存占用较高且未及时释放。相比之下,OpenCVSharp的Window类在显示图像时内存管理更优,表现为平稳增长。作者探讨了内存优化的可能性,寻求进一步改进方案。
        using OpenCvSharp;
        using OpenCvSharp.Extensions;

        
        static VideoCapture capture=new VideoCapture(@"E:\视频素材\西门子SGT-750燃气轮机.mp4");
        static bool isopen = false;
        private void pictureBox5_Paint(object sender, PaintEventArgs e)
        {
            if (isopen)
            {
                Mat image = new Mat();
                capture.Read(image);
                if (image.Empty())
                {
                    isopen = !isopen;
                }
                else
                {
                    int sleepTime = (int)Math.Round(1000 / capture.Fps);
                    pictureBox5.BackgroundImage = image.ToBitmap();
                    Cv2.WaitKey(sleepTime);
                    image.Release();//释放,别等到gc来回收,太占内存
                }
            }
        }
        private void button5_Click_1(object sender, EventArgs e)
        {
            isopen = !isopen;
            pictureBox5.Refres
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值