Hadoop 微信商家收款 iic dedecms docker安装 dom xpath static Material UI ionic framework vue表单 vue动态绑定class vue架构 mysql降序 oracle限制查询条数 matlab向量的模 网络游戏server编程 内存计算 SketchUp mysql入门 python加注释 python读文件 python环境变量配置 python命令大全 python正则匹配数字 java环境 java语言学习 怎么安装java环境 p2pover 找茬辅助 刷机工具下载 隐藏进程 php购物车 u盘系统下载 apihook 通灵学院在哪 lol不能全屏 接口自动化测试框架 视频抠图 ps怎么做动画
当前位置: 首页 > 学习教程  > 编程语言

海康威视连续采图设置ROI局部显示_c#

2021/1/13 20:03:04 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

为啥要设置ROI来局部显示呢? 是因为当生产线速度很快时,每张图片只给几毫秒的处理时间,如果把整张图片都传输给计算机,那么时间会浪费在数据传输上,而画一个ROI来减小图像尺寸从而减小传输数据的大小,就可…

为啥要设置ROI来局部显示呢?

是因为当生产线速度很快时,每张图片只给几毫秒的处理时间,如果把整张图片都传输给计算机,那么时间会浪费在数据传输上,而画一个ROI来减小图像尺寸从而减小传输数据的大小,就可以提升数据的处理速度来适应快速的生产线节拍

首先,先从连续采图的图像中单步采集出一张图片来设置ROI区域

然后,重启相机

最后,绘制好ROI区域(X、Y的偏移量+roi图像的宽与高),把参数写进相机,然后再连续采图

private uint imgWidth, imgHeight, offsetX, offsetY;
        public void SetRoi(ComboBox comboBox)
        {
            int nRet = MyCamera.MV_OK;


            //获取相机采图的最大尺寸
            ImageSize imgMaxSize = GetMaxSize();
            uint nWidthMax = imgMaxSize.Width;
            uint nHeightMax = imgMaxSize.Height;
            

            double width = CommonParam.width;
            double height = CommonParam.height;
            double offX = CommonParam.offX;
            double offY = CommonParam.offY;
            //初始化	
            nRet = m_pMyCamera.MV_CC_SetIntValue_NET("OffsetX", 0);
            if (MyCamera.MV_OK != nRet)
            {
                ShowErrorMsg("Set OffsetX Fail!", nRet);
            }
            nRet = m_pMyCamera.MV_CC_SetIntValue_NET("OffsetY", 0);
            if (MyCamera.MV_OK != nRet)
            {
                ShowErrorMsg("Set OffsetY Fail!", nRet);
            }
            //设置宽高
            imgWidth = (uint)(width * nWidthMax);
            uint nVal = (imgWidth / 32) * 32;
            nRet = m_pMyCamera.MV_CC_SetIntValue_NET("Width", nVal);
            if (MyCamera.MV_OK != nRet)

            {
                ShowErrorMsg("Set Width Fail!", nRet);
            }
            imgHeight = (uint)(height * nHeightMax);
            nVal = (imgHeight / 16) * 16;
            nRet = m_pMyCamera.MV_CC_SetIntValue_NET("Height", nVal);
            if (MyCamera.MV_OK != nRet)
            {
                ShowErrorMsg("Set Height Fail!", nRet);
            }
            offsetX = (uint)(offX * nWidthMax);
            nVal = (offsetX / 16) * 16;
            nRet = m_pMyCamera.MV_CC_SetIntValue_NET("OffsetX", nVal);
            if (MyCamera.MV_OK != nRet)
            {
                ShowErrorMsg("Set OffsetX Fail!", nRet);
            }
            offsetY = (uint)(offY * nHeightMax);
            nVal = (offsetY / 16) * 16;
            nRet = m_pMyCamera.MV_CC_SetIntValue_NET("OffsetY", nVal);
            if (MyCamera.MV_OK != nRet)
            {
                ShowErrorMsg("Set OffsetY Fail!", nRet);
            }
            
        }

 


本文链接: http://www.dtmao.cc/news_show_600243.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?