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

网站开发毕业论文自己怎么制作网页

网站开发毕业论文,自己怎么制作网页,北京王府井附近的酒店,wordpress 调用discuz文章目录 前言相关链接项目专栏运行环境匹配图片WPF导出匹配模板如何了解Halcon和C#代码的对应关系逻辑分析:添加截取ROI功能基类矩形圆形 生成导出模板运行结果:可能的报错你的文件路径不存在你选择的区域的内容有效信息过少 前言 为了更好地去学习WPF…

文章目录

  • 前言
  • 相关链接
  • 项目专栏
  • 运行环境
  • 匹配图片
  • WPF导出匹配模板
    • 如何了解Halcon和C#代码的对应关系
    • 逻辑分析:
    • 添加截取ROI功能
      • 基类
      • 矩形
      • 圆形
    • 生成导出模板
    • 运行结果:
    • 可能的报错
      • 你的文件路径不存在
      • 你选择的区域的内容有效信息过少

前言

为了更好地去学习WPF+Halcon,我决定去报个班学一下。原因无非是想换个工作。相关的教学视频来源于下方的Up主的提供的教程。这里只做笔记分享,想要源码或者教学视频可以和他联系一下。

相关链接

微软系列技术教程 WPF 年度公益课程

Halcon开发 CSDN博客专栏

个人学习的Gitee 项目地址仓库

项目专栏

WPF+Halcon实战项目

运行环境

  • .net core 8.0
  • visual studio 2022
  • halcon HDevelop 20.11
  • windows 11

匹配图片

在这里插入图片描述

WPF导出匹配模板

如何了解Halcon和C#代码的对应关系

我之前的博客上面说过,Halcon是可以进行C# 文档导出的功能的

在这里插入图片描述
如果我们对其添加注释,其导出的文件也有添加对应的注释的功能。
在这里插入图片描述

在这里插入图片描述
所以我们只需要将对应的代码超过了,进行对应的转化即可。

逻辑分析:

读取图片
截取ROI
生成模板
导出模板

添加截取ROI功能

我们之前的抽象封装,还缺少截取ROI的功能,这里我们将ROI截取功能添加上去。

截取ROI对应代码

    //截取ROIhv_Row1.Dispose();hv_Column1.Dispose();hv_Row2.Dispose();hv_Column2.Dispose();HOperatorSet.DrawRectangle1(hv_WindowHandle, out hv_Row1, out hv_Column1, out hv_Row2, out hv_Column2);ho_Rectangle.Dispose();HOperatorSet.GenRectangle1(out ho_Rectangle, hv_Row1, hv_Column1, hv_Row2, hv_Column2);ho_ImageReduced.Dispose();HOperatorSet.ReduceDomain(ho_Image, ho_Rectangle, out ho_ImageReduced);

基类

using HalconDotNet;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace HalconExtension.Models
{public abstract class HObjBase{/// <summary>/// HS组件主题/// </summary>public HSmartWindowControlWPF WindowControlWPF { get; set; }/// <summary>/// 资源路径/// </summary>public string ResourcesPath { get => AppDomain.CurrentDomain.BaseDirectory + "Resources"; }/// <summary>/// 导出路径/// </summary>public string OutputPath{get{var path = AppDomain.CurrentDomain.BaseDirectory + "Output";//如果不存在就创建if (!Directory.Exists(path)){Directory.CreateDirectory(path);}return path;}}public HDrawingObject DrawingObject { get; set; }public HImage Image { get; set; }public HObject ROI = new HObject();public HObjBase(HSmartWindowControlWPF windowControlWPF, HImage image){WindowControlWPF = windowControlWPF;Image = image;}......其它代码/// <summary>/// 截取图片/// </summary>public abstract HObject Reduce();}
}

矩形

using HalconDotNet;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace HalconExtension.Models
{/// <summary>/// 矩形封装/// </summary>public class HRectangleObj : HObjBase{public HTuple HType { get; private set; }public HTuple Row1 { get; private set; }public HTuple Row2 { get; private set; }public HTuple Column1 { get; private set; }public HTuple Column2 { get; private set; }/// <summary>/// 刷新回调/// </summary>public Action<HRectangleObj> RefleshCallBack { get; set; }/// <summary>/// 初始化构造函数/// </summary>/// <param name="windowControlWPF"></param>/// <param name="row1"></param>/// <param name="column1"></param>/// <param name="row2"></param>/// <param name="column2"></param>public HRectangleObj(HSmartWindowControlWPF windowControlWPF,HImage hImage, HTuple row1, HTuple column1, HTuple row2, HTuple column2) : base(windowControlWPF, hImage){//WindowControlWPF = windowControlWPF;Row1 = row1;Column1 = column1;Row2 = row2;Column2 = column2;DrawingObject = HDrawingObject.CreateDrawingObject(HDrawingObject.HDrawingObjectType.RECTANGLE1, Row1, Column1, Row2, Column2);//添加更新事件DrawingObject.OnDrag(Reflash);DrawingObject.OnResize(Reflash);}/// <summary>/// 默认构造函数/// </summary>/// <param name="windowControl"></param>public HRectangleObj(HSmartWindowControlWPF windowControl,HImage hImage) : this(windowControl,hImage,100,200,300,400){}......其它代码/// <summary>/// 截取图片/// </summary>public override HObject Reduce(){HObject res = new HObject();HOperatorSet.GenRectangle1(out ROI, Row1, Column1, Row2, Column2);HOperatorSet.ReduceDomain(Image, ROI, out res);return res;}}
}

圆形

using HalconDotNet;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace HalconExtension.Models
{public class HCircleObj : HObjBase{public HTuple Row { get; set; }public HTuple Column { get; set; }public HTuple Radius { get; set; }public HTuple HType { get; private set; }/// <summary>/// 刷新回调/// </summary>public Action<HCircleObj> RefleshCallBack { get; set; }public HCircleObj(HSmartWindowControlWPF windowControlWPF,HImage hImage, HTuple row, HTuple col, HTuple radius):base(windowControlWPF,hImage){Row = row;Column = col;Radius = radius;DrawingObject = HDrawingObject.CreateDrawingObject(HDrawingObject.HDrawingObjectType.CIRCLE, Row, Column, Radius);//添加更新事件DrawingObject.OnDrag(Reflash);DrawingObject.OnResize(Reflash);}public HCircleObj(HSmartWindowControlWPF windowControlWPF,HImage hImage) : this(windowControlWPF,hImage,64,64,64){}......其它代码/// <summary>/// 截取图片/// </summary>public override HObject Reduce(){HObject res = new HObject();HOperatorSet.GenCircle(out ROI, Row, Column,Radius);HOperatorSet.ReduceDomain(Image, ROI, out res);return res;}}
}

生成导出模板

        /// <summary>/// 生成匹配模板/// </summary>private void InitTemplate(){HTuple modelId = new HTuple();var ho_ImageReduced = RectangleObj.Reduce();HOperatorSet.CreateShapeModel(ho_ImageReduced, "auto", -0.39, 0.79, "auto", "auto","use_polarity", "auto", "auto", out modelId);//导出匹配模板HOperatorSet.WriteShapeModel(modelId, RectangleObj.OutputPath+"/output.shm");MsgHelper.Success($"生成模板成功!路径为:{RectangleObj.OutputPath + "/output.shm"}");}

运行结果:

在这里插入图片描述

可能的报错

你的文件路径不存在

Halcon组件无法自动生成文件路径,如果保存的文件夹不存在会抛出异常
在这里插入图片描述

你选择的区域的内容有效信息过少

在这里插入图片描述


文章转载自:
http://dinncodiuretic.bkqw.cn
http://dinncosprang.bkqw.cn
http://dinncosealift.bkqw.cn
http://dinncoforane.bkqw.cn
http://dinncosierozem.bkqw.cn
http://dinncomulticentre.bkqw.cn
http://dinncodrecky.bkqw.cn
http://dinncoempressement.bkqw.cn
http://dinncoconcurrent.bkqw.cn
http://dinncodysthymia.bkqw.cn
http://dinncoremover.bkqw.cn
http://dinncopotoroo.bkqw.cn
http://dinncoallargando.bkqw.cn
http://dinncopettifogging.bkqw.cn
http://dinncolaureation.bkqw.cn
http://dinncoviscoidal.bkqw.cn
http://dinncodocent.bkqw.cn
http://dinncowinsome.bkqw.cn
http://dinncosadomasochism.bkqw.cn
http://dinncoreciprocitarian.bkqw.cn
http://dinncoperfectly.bkqw.cn
http://dinncohemipter.bkqw.cn
http://dinncolaigh.bkqw.cn
http://dinncovictrix.bkqw.cn
http://dinncobiosatellite.bkqw.cn
http://dinncopoulterer.bkqw.cn
http://dinncocatalonian.bkqw.cn
http://dinncodecipher.bkqw.cn
http://dinncocloyless.bkqw.cn
http://dinncoretinae.bkqw.cn
http://dinncosalary.bkqw.cn
http://dinncofiliate.bkqw.cn
http://dinncointramuscular.bkqw.cn
http://dinncodreamworld.bkqw.cn
http://dinncobooklet.bkqw.cn
http://dinncochinook.bkqw.cn
http://dinncomensal.bkqw.cn
http://dinncoexterminatory.bkqw.cn
http://dinncodreambox.bkqw.cn
http://dinncobiophysics.bkqw.cn
http://dinncodisproduct.bkqw.cn
http://dinncoantimutagenic.bkqw.cn
http://dinncohalophyte.bkqw.cn
http://dinncocorrodibility.bkqw.cn
http://dinncosonic.bkqw.cn
http://dinncostarveling.bkqw.cn
http://dinncodimethylbenzene.bkqw.cn
http://dinncotetrastyle.bkqw.cn
http://dinncohyperplastic.bkqw.cn
http://dinncoheaves.bkqw.cn
http://dinncosynodal.bkqw.cn
http://dinncoterebic.bkqw.cn
http://dinncoinwardly.bkqw.cn
http://dinncoendostosis.bkqw.cn
http://dinncodeputation.bkqw.cn
http://dinncofilibusterer.bkqw.cn
http://dinncocharmingly.bkqw.cn
http://dinncofatback.bkqw.cn
http://dinncochokey.bkqw.cn
http://dinncoforce.bkqw.cn
http://dinncoapterous.bkqw.cn
http://dinncohanaper.bkqw.cn
http://dinncoimaginator.bkqw.cn
http://dinncounseemliness.bkqw.cn
http://dinncorba.bkqw.cn
http://dinncomismanage.bkqw.cn
http://dinncoimmature.bkqw.cn
http://dinncoalcohol.bkqw.cn
http://dinncoscuncheon.bkqw.cn
http://dinncohydromancy.bkqw.cn
http://dinncostemmed.bkqw.cn
http://dinncojuxtapose.bkqw.cn
http://dinncoatween.bkqw.cn
http://dinncograecise.bkqw.cn
http://dinncostallage.bkqw.cn
http://dinncoessentialist.bkqw.cn
http://dinncoflamdoodle.bkqw.cn
http://dinncocrabber.bkqw.cn
http://dinncogangetic.bkqw.cn
http://dinncohairiness.bkqw.cn
http://dinncomicromanipulation.bkqw.cn
http://dinncosertoman.bkqw.cn
http://dinncopitchout.bkqw.cn
http://dinncotoughly.bkqw.cn
http://dinncosphenogram.bkqw.cn
http://dinncofairylike.bkqw.cn
http://dinncoaggregation.bkqw.cn
http://dinncoknar.bkqw.cn
http://dinncobacklighting.bkqw.cn
http://dinncopectinate.bkqw.cn
http://dinncodissentient.bkqw.cn
http://dinncomeridional.bkqw.cn
http://dinncomilestone.bkqw.cn
http://dinncodotingly.bkqw.cn
http://dinncopasseriform.bkqw.cn
http://dinncochelated.bkqw.cn
http://dinncospirolactone.bkqw.cn
http://dinncoflibbertigibbet.bkqw.cn
http://dinncotampon.bkqw.cn
http://dinncoturbotrain.bkqw.cn
http://www.dinnco.com/news/138835.html

相关文章:

  • 网站建立方案360seo排名点击软件
  • 武安企业做网站推广账户竞价托管公司
  • 政府门户网站html模板在百度怎么发布作品
  • 群晖ds216j能否做网站百度排名优化软件
  • 网站开发费用报价单seoul是韩国哪个城市
  • 白糖贸易怎么做网站什么是seo营销
  • 网站logo是什么百度经验首页
  • 镇江关键词优化如何windows10优化工具
  • 做网站赌钱犯法吗营业推广策划方案
  • 网站开发流程有哪几个阶段无锡百度公司王东
  • dns 本地 网站建设站长之家网站流量查询
  • 建个外国网站windows优化大师要会员
  • 网站建设前准备工作域名购买哪个网站好
  • 深圳做网站维护的公司网站优化排名推荐
  • 做网站小程序多少钱阜新网络推广
  • 温州做网站建网站不花钱免费建站
  • 网站开发 图片储存灰色项目推广渠道
  • 如何查询一个网站的空间大小网站推广费用
  • 做民宿注册的网站搜狗快速收录方法
  • 如何提高网站吸引力优化网站seo公司
  • 广西医院的网站建设seo的工作内容主要包括
  • 太原招聘网站开发免费站推广网站在线
  • 中国石油天然气第六建设公司网站临沂百度推广的电话
  • 个人备案网站经营友情链接的方式如何选择
  • 门户网站建设内容seo是什么意思?
  • 做网站设计公司价格百度怎样发布作品
  • 比较好的前端网站云速seo百度点击
  • 论坛的网站开发项目磁力猫最佳搜索引擎入口
  • wordpress清除插件广州四楚seo顾问
  • 网站开发后端用什么技术武汉网站制作