代码拉取完成,页面将自动刷新
一个视觉处理的容器应用. 一个页面对应一个视觉处理单元.
IVisionProcessor<T>
的Processor类)IVisionAdapter<T>
的Adapter类)byte[]
, 除实现离线运行的功能外, 可以反馈数据和结果到上位机软件IVisionCliet.GetBoundaryItems
, 上位机程序可以获取上下限. 也可以通过IVsionClient.BoundaryItemsChanged
事件来获取上下限数据的更新(目前仅在InProcessVisionClient
实现)DistributedVisionClient
和DistributedVisionRunner.App
通信)时, 受ZeroMQ的Request-respond模式限制, 不能平行运算多个处理请求。如果实际上多次发送请求, 将这些请求排队处理。注: 作为Prism模块运行时(使用InProcessVisionClient
和嵌入上位机的页面通信)支持多个处理请求同时进行。
DistributedVisionClient
(独立应用时)或者InProcessVisionClient
(使用Prism模块嵌入时), 实现同DistributedVisionRunner图像处理系统的数据交互DistributedVisionRunner.App
新增页面, 加载视觉工程师定义的Processor类和上位机工程师的Adapter类即可App.xaml.cs
加入以下代码protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog)
{
// Define method for logging messages from DistributedVisionRunnerModule
var ea = Container.Resolve<IEventAggregator>();
Action<LogItem> logMethod =
logItem =>
ea.GetEvent<LogEvent>().Publish(("General", logItem));
// Configure module before adding to module
DistributedVisionRunnerModule.ConfigureModule(logMethod, "VisionRegion", true);
DistributedVisionRunnerModule.SetDefaultImageBackground(Theme.PrimaryColor.R, Theme.PrimaryColor.G, Theme.PrimaryColor.B);
// Add module
moduleCatalog.AddModule<DistributedVisionRunnerModule>();
}
原始数据由Processor类产生, 全部都是浮点数, 数据的名称由Processor.RawOutputNames
指定, 最终存放在DistributedVisionRunnerResultPack.RawResults
中. 假若Processor.EnableWeighting=true
, 则原始数据会根据视觉工程师给出的公式经过补偿服务后, 存放在DistributedVisionRunnerResultPack.WeightedResults
中. 上位机工程师还可以在Adapter类中指定预留的输出项Adapter.ReservedOutputNames
, 这个输出是通过由上位机工程师实现的方法(Adapter.GetResultTypeAndReservedOutputs
)结合前两个结果(DistributedVisionRunnerResultPack.RawResults
和DistributedVisionRunnerResultPack.WeightedResults
)得出的.
IVisionProcess.Process(byte[] data, string productType, int cavity)
有未处理的异常抛出, 在在线运行的情况下, 首先ResultType.ERROR
会发送给上位机, 然后图像和错误信息(包括stack trace, 类型, 信息)会保存到图像文件夹下的Error文件夹IVisionProcess.Process(byte[] data, string productType, int cavity)
内部完成try和catch, 但是上位机工程师认为还需要根据视觉工程师的处理结果再得出错误信息并个性化保存. 那么上位机工程师可以在(ResultType resultType, Statistics reservedResults, string errType, string errMessage) IVisionAdapter.GetResultTypeAndReservedOutputs(Statistics rawStatistics, Dictionary<string, double> weightedDoubleData)
返回ResultType.ERROR
和特定的errType
和errMessage
, 图片就会保存在图像文件夹下的CustomError的文件夹下CygiaServices
安装包CygiaServices
安装包此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。