海康visionmaster-Group输入输出图像数据的方法
描述
环境:VM4.0.0 + VS2015及以上
现象:Group 模块可以设置输入和输出,那如何进行图像数据的输入和输出?
解答
Group相当于一个模块,实例化Group,通过相关接口可以设置图像数据的输入和输出。
1)设置图像数据的输入,下面是以独立的Group为例,导入一个后缀为gro的独立Group。
C# IMVSGroupTool group=null; //加载group模块 group = IMVSGroupTool.LoadGroup(@"C:\Users\zhouyigen\Desktop\LackImage.gro", ""); //利用OpenCV的读图方法,读取图像 Mat matImage = Cv2.ImRead(@"C:\Users\zhouyigen\Desktop\Demo(2)\smile.png",ImreadModes.Grayscale); //实例化VM接口可接收的图像类型 InputImageData StImg = new InputImageData(); //设置图像参数 StImg.Names.DataName = "Imagein"; StImg.Names.HeightName = "ImageHeightin"; StImg.Names.WidthName = "ImageWidthin";
StImg.Names.PixelFormatName = "ImagePixelFormatin"; StImg.Height = matImage.Rows; StImg.Width = matImage.Cols; StImg.Pixelformat =
ImagePixelFormat.IMAGE_PIXEL_FORMAT_MONO8; StImg.DataLen = (uint)(matImage.Width * matImage.Height); StImg.Data = new byte[matImage.Width * matImage.Height]; //将读取到的图像拷贝给StImg Marshal.Copy(matImage.Data, StImg.Data, 0, matImage.Width * matImage.Height); // 设置图像数据
group.ModuParams.SetInputImage(StImg); //绑定渲染源
vmRenderControl1.ModuleSource = group;
也可以将流程中的Group实例化,再使用流程的SetInputImage接口。流程中的Group中没有图像源模块,Group的输入设置如下图,Group中的其他模块需要选择图像输入源,需要提前建立联系。
2)获取输出的图像数据
可以参考2.4.1,给Group中添加一个输出图像模块,通过输出图像模块来获取输出的图像数据byte。
也可以配置Group的显示设置,订阅输出图像模块,再依照2.4.1中获取流程中的图像数据方法,Imgaeout才是真正的图像名称。像素格式17301505为MONO8灰度图,像素格式 35127316为RGB24彩色图。
相关文章
- Spring Boot中对接Twilio以实现发送验证码和验证短信码
- Spring Boot 3.5:这次更新让你连配置都不用写了,惊不惊喜?
- Spring Boot+Pinot实战:毫秒级实时竞价系统构建
- SpringBoot敏感配置项加密与解密实战
- SpringBoot 注解最全详解,建议收藏!
- Spring Boot 常用注解大全:从入门到进阶
- SpringBoot启动之谜:@SpringBootApplication如何让配置化繁为简
- Springboot集成Kafka原理_spring集成kafka的原理
- Spring Boot中@Data注解的深度解析与实战应用
- 大佬用1000字就把SpringBoot的配置文件讲的明明白白!
