当前位置: 首页 > wzjs >正文

番禺网站制作wordpress后台加载速度慢

番禺网站制作,wordpress后台加载速度慢,个人网站如何备案,凤山县住房和城乡建设局网站visionpro案例: 轴承缺珠检测 项目概述思路以及解题过程1.图像预处理:使用CogIPOneImageTool对图像进行灰度化、去噪等预处理操作,以提高后续处理的准确性。2.特征提取:使用CogPMAlignTool提供的工具提取轴承的概念建特征3.图像校正: 使用Cog…

visionpro案例: 轴承缺珠检测

  • 项目概述
  • 思路以及解题过程
    • 1.图像预处理:使用CogIPOneImageTool对图像进行灰度化、去噪等预处理操作,以提高后续处理的准确性。
    • 2.特征提取:使用CogPMAlignTool提供的工具提取轴承的概念建特征
    • 3.图像校正: 使用CogFixtureTool,并把上面CogPMAlignTool找到的GetPose()传入进行位置矫正
    • 4.圆展开: CogFindCircleTool找圆并通过找到的圆心坐标对CogPolarUnwrapTool的圆心赋值将图像从笛卡尔坐标系转换到极坐标系
    • 5.模板匹配: 对展开后的图像进行模板匹配,匹配圆珠,没有匹配的地方则缺少,通过代码显示出来,并映射到原图中
    • 6.完整代码展示
  • 结论

项目概述

我们需要对下面轴承的缺珠情况进行检测,并且把缺珠的位置在图像上标记出来,效果如下:
在这里插入图片描述

思路以及解题过程

1.图像预处理:使用CogIPOneImageTool对图像进行灰度化、去噪等预处理操作,以提高后续处理的准确性。

在这里插入图片描述

2.特征提取:使用CogPMAlignTool提供的工具提取轴承的概念建特征

在这里插入图片描述

3.图像校正: 使用CogFixtureTool,并把上面CogPMAlignTool找到的GetPose()传入进行位置矫正

在这里插入图片描述

4.圆展开: CogFindCircleTool找圆并通过找到的圆心坐标对CogPolarUnwrapTool的圆心赋值将图像从笛卡尔坐标系转换到极坐标系

图1
在这里插入图片描述
在这里插入图片描述

5.模板匹配: 对展开后的图像进行模板匹配,匹配圆珠,没有匹配的地方则缺少,通过代码显示出来,并映射到原图中

在这里插入图片描述

6.完整代码展示

#region namespace imports
using System;
using System.Collections;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using Cognex.VisionPro;
using Cognex.VisionPro.ToolBlock;
using Cognex.VisionPro3D;
using Cognex.VisionPro.ImageProcessing;
using Cognex.VisionPro.PMAlign;
using Cognex.VisionPro.CalibFix;
using Cognex.VisionPro.Caliper;
#endregionpublic class CogToolBlockAdvancedScript : CogToolBlockAdvancedScriptBase
{#region Private Member Variablesprivate Cognex.VisionPro.ToolBlock.CogToolBlock mToolBlock;#endregionCogGraphicCollection col = new CogGraphicCollection();/// <summary>/// Called when the parent tool is run./// Add code here to customize or replace the normal run behavior./// </summary>/// <param name="message">Sets the Message in the tool's RunStatus.</param>/// <param name="result">Sets the Result in the tool's RunStatus</param>/// <returns>True if the tool should run normally,///          False if GroupRun customizes run behavior</returns>public override bool GroupRun(ref string message, ref CogToolResultConstants result){// To let the execution stop in this script when a debugger is attached, uncomment the following lines.// #if DEBUG// if (System.Diagnostics.Debugger.IsAttached) System.Diagnostics.Debugger.Break();// #endifcol.Clear();CogPMAlignTool pm = mToolBlock.Tools["CogPMAlignTool2"] as CogPMAlignTool;CogPolarUnwrapTool Polar = mToolBlock.Tools["CogPolarUnwrapTool1"] as CogPolarUnwrapTool;//声明一个列表  用来储存X坐标List<double> listX = new List<double>();// Run each tool using the RunTool functionforeach(ICogTool tool in mToolBlock.Tools)mToolBlock.RunTool(tool, ref message, ref result);double y = 0,yTotal = 0;for(int i = 0 ; i < pm.Results.Count;i++){//将x坐标数据  添加到列表中listX.Add(pm.Results[i].GetPose().TranslationX);yTotal += pm.Results[i].GetPose().TranslationY;}//Y平均值y = yTotal / pm.Results.Count;//排序listX.Sort();//找缺陷的 比较逻辑for(int i = 0; i < listX.Count - 1;i++){if(listX[i+1] - listX[i] > 60){double x = (listX[i + 1] + listX[i]) / 2;double xIN,yIN;Polar.RunParams.GetInputPointFromOutputPoint(Polar.InputImage, Polar.Region, x, y, out xIN, out yIN);col.Add(CreateCircle(xIN,yIN));}}//第一个缺失if(listX[0]>40){double x = listX[0] - 40;double xIN,yIN;Polar.RunParams.GetInputPointFromOutputPoint(Polar.InputImage, Polar.Region, x, y, out xIN, out yIN);col.Add(CreateCircle(xIN,yIN));}//最后一个缺失if(listX[listX.Count-1] < 750){double x = listX[listX.Count-1] + 40;double xIN,yIN;Polar.RunParams.GetInputPointFromOutputPoint(Polar.InputImage, Polar.Region, x, y, out xIN, out yIN);col.Add(CreateCircle(xIN, yIN));}return false;}public CogCircle CreateCircle(double x,double y){CogCircle c = new CogCircle();c.CenterX = x;c.CenterY = y;c.Radius = 10;c.LineWidthInScreenPixels = 4;c.Color = CogColorConstants.Red;return c;}#region When the Current Run Record is Created/// <summary>/// Called when the current record may have changed and is being reconstructed/// </summary>/// <param name="currentRecord">/// The new currentRecord is available to be initialized or customized.</param>public override void ModifyCurrentRunRecord(Cognex.VisionPro.ICogRecord currentRecord){}#endregion#region When the Last Run Record is Created/// <summary>/// Called when the last run record may have changed and is being reconstructed/// </summary>/// <param name="lastRecord">/// The new last run record is available to be initialized or customized.</param>public override void ModifyLastRunRecord(Cognex.VisionPro.ICogRecord lastRecord){foreach(ICogGraphic g in col){mToolBlock.AddGraphicToRunRecord(g, lastRecord, "CogIPOneImageTool1.InputImage", "");}}#endregion#region When the Script is Initialized/// <summary>/// Perform any initialization required by your script here/// </summary>/// <param name="host">The host tool</param>public override void Initialize(Cognex.VisionPro.ToolGroup.CogToolGroup host){// DO NOT REMOVE - Call the base class implementation first - DO NOT REMOVEbase.Initialize(host);// Store a local copy of the script hostthis.mToolBlock = ((Cognex.VisionPro.ToolBlock.CogToolBlock)(host));}#endregion}

结论

通过上述步骤和控件的使用,可以实现对轴承的缺陷检测。代码中使用了Cognex VisionPro工具进行特征提取和缺陷识别,并在图像上标记缺陷位置。项目可以根据实际需求进行扩展和优化

http://www.dtcms.com/wzjs/695873.html

相关文章:

  • 湖州做网站公司有那几家建设网站需要那些技术人员
  • 网站制作 wordpress电商网站seo优化
  • 西安网站建设网站推广域名注册网站 简称
  • 城固网站建设马尾网站建设
  • etherna 简洁商业企业wordpresswordpress数据库索引优化
  • 此网站域名即将过期什么直播可以做游戏视频网站吗
  • 通辽网站建设公司靖江 建设局网站
  • 贵阳网站制作免费大象2022秘密入口免费看
  • 重庆商城网站建设百度seo网站优化
  • 低价网站备案广州seo黑帽培训
  • seo优化网站推广专员招聘网页设计代码简单
  • 电脑禁止访问网站设置如何在网上推广自己
  • 服装网站建设效果电商网站建设精英
  • 黄骅港客运站电话号码wordpress 插件错误
  • 网站建设毕业设计的分类号软件平台运维方案
  • 筑建网站首页中国建筑总公司网站
  • 太原网站建设维护安徽网站设计哪家效果好
  • 龙岩网站推广做网站设计提成赚钱吗
  • 怎么打开文件做的网站开装潢公司做网站
  • 山东专业网站建设nas搭建wordpress博客网站
  • 抚州网站网站建设网站建设的行业客户
  • 网站建设岗位主要做什么企业网站报价单
  • 做视频网站盈利多少外贸推广软件
  • 价格划算的做网站python网站开发的优势
  • 与wordpress类似的都有哪些谷歌优化推广
  • html5 响应式网站wordpress 纯静态
  • 个人网站主页设计站群seo
  • 景乔网站建设网站公司怎么做
  • 网站建设捌金手指花总十七免费装修设计效果图
  • 深圳手机集团网站建设贵阳建站模板搭建