自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

转载 Halcon:模版匹配

一:函数介绍1.创建模板create_shape_model(Template: :NumLevels,AngleStart,AngleExtent,AngleStep,Optimization,Metric,Contrast,MinContrast:ModelID)Template:模板图像NumLevels:图像金字塔级数,该值越小,模板匹配耗时越长,可设置自动-‘Auto’,可使用get_shape_model_params来获取模板所有参数,包括级数。An...

2020-10-29 15:56:22 14

转载 C# 使用 Windows API 操作控件: SendMessage

在C#中,程序采用了的驱动采用了事件驱动而不是原来的消息驱动,虽然.net框架提供的事件已经十分丰富,但是在以前的系统中定义了丰富的消息对系统的编程提供了方便的实现方法,因此在C#中使用消息有时候还是大大提高编程的效率的。定义消息在c#中消息需要定义成windows系统中的原始的6进制数字,比如const int WM_Lbutton = 0x0; //定义了鼠标的左键点击消息public const int USER = 0x000 // 是windows系统定义的用户消息消息发送消息发送是通过w

2020-09-26 14:52:38 23

转载 WinAPI——Windows 消息

消息 值 注释 WM_NULL $0000 WM_CREATE $0001 WM_DESTROY $0002 WM_MOVE $0003 WM_SIZE $0005 WM_ACTIVATE $0006 WM_SETFOCUS $0007 WM_KILLFOCUS $0008 WM_ENABLE $000A WM...

2020-09-26 14:35:19 25

转载 C#中调用halcon引擎来执行hdev程序

调用halcon引擎有两个直接的好处: 避免C# 与halcon代码混编时可能产生的内存泄露问题 修改halcon程序时不用重新编译C# 勇哥写了一个示例,详细的应用感受和缺点限制勇哥会持续做相关的总结给大家分享。对于halcon17来说,要运行下面的程序,你要引用C#halcondotnet.dllhdevenginedonet.dllC#using HalconDotNet;using System;using System....

2020-09-25 20:45:59 146

原创 C#调用 Halcon引擎执行代码

Halcon引擎可以直接执行halcon代码,把halcon程序当做C#的一个方法来调用,这样可以减轻C#这边的程序负担,而且可以避免内在泄露等bug的出现。还有一种好处是方便调试视觉代码,你只需要启动halcon,直接用修改调试视觉代码即可,C#那边不需要做改变。这种方式的缺点是定位halcon代码的错误比较麻烦,你不可能在halcon代码那里实时下断点。详细介绍见勇哥帖子,做个标记,有需要再看!网址链接:http://www.skcircle.com/?id=1344...

2020-09-22 20:22:58 153

原创 Halcon:手眼标定——眼在手外与眼在手上

为什么需要九点标定?为了得到机械和相机的关系,就好比人的手和眼的关系。我们用手将一个物体放到空间的一个位置,用眼看到这个物体,这也存在两个坐标系,一个是手所在的运动空间的坐标系,一个是视网膜上成像的二维平面坐标系。我们用眼看到一个物体,用手去拿,之所以能够准确地拿到这个物体,是因为我们的神经系统把这两个坐标系准确地关联好了。机械和视觉系统也是这样,相机对工作空间中的物体进行拍照,机械手要想准确地取到这个物体,就必须首先把机械坐标系和视觉坐标系进行准确地关联。九点标定的基本原理:使用机械手将物体放在工作空

2020-09-21 19:34:50 190

转载 Halcon:二维仿射变换实例探究

二维仿射变换,顾名思义就是在二维平面内,对对象进行平移、旋转、缩放等变换的行为(当然还有其他的变换,这里仅论述这三种最常见的)。Halcon中进行仿射变换的常见步骤如下:① 通过hom_mat2d_identity算子创建一个初始化矩阵(即[1.0, 0.0, 0.0, 0.0, 1.0, 0.0]);② 在初始化矩阵的基础上,使用hom_mat2d_translate(平移)、hom_mat2d_rotate(旋转)、hom_mat2d_scale(缩放)等生成仿射变换矩阵;(这几个算子.

2020-09-21 19:28:05 38

转载 Halcon :畸变矫正与标定(2)

相机标定 1.相机标定是什么 2.怎么使用halcon进行相机内外参标定? (1)搭建硬件 1.**相机连好电脑,用相机厂家软件打开相机,检查一下相机是否正常。** 2.**接下来使用halcon连接相机** (2)开始标定 1.**生成标定板参数文件** 2.**配置标定参数** 3.**开始标定相机** **总结提取标志点失败原因 4.**得到标定参数** (3)使用标定出的数据矫正图像 1**相机畸变矫正** 2**相机坐.

2020-09-21 19:14:06 57

转载 Halcon: 畸变矫正与标定(1)

1 halcon相机标定和图像矫正 对于相机采集的图片,会由于相机本身和透镜的影响产生形变,通常需要对相机进行标定,获取相机的内参或内外参,然后矫正其畸变。相机畸变主要分为径向畸变和切向畸变,其中径向畸变是由透镜造成的,切向畸变是由成像仪与相机透镜的不平行造成的。(更多技术分享,请关注微信公众号:善眸科技;更多技术交流请加入qq机器视觉联盟群:1020941040)。 针孔模型是理想透镜的成像模型,但是实际中相机的透镜不可能是理想的模型,透镜形状的非理想特征造成像点会沿径向发生畸变。一个像点...

2020-09-18 17:31:02 192

原创 Halcon:Image、region、xld常用的处理

一、读取文件夹中的所有图片list_files ('C:/Users/fuping.liu/Desktop/槟榔有无头/有头', ['files','follow_links'], ImageFiles)tuple_regexp_select (ImageFiles, ['\(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$','ignore_case'], ImageFiles)for Index := 0 to

2020-09-18 15:20:14 58

转载 Halcon:区域特征:select_shape(Regions : SelectedRegions : Features, Operation, Min, Max : )

Region特征一览: 特征 英 译 备注 area Area of the object 对象的面积 row Row index of the center 中心点的行坐标 column Column index..

2020-09-18 14:10:05 80

原创 重启唯一的窗体实例,以及调用系统重启函数失败解决办法

1、修改Program.cs内的程序启动函数static class Program { public static System.Threading.Mutex Instance; /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() {

2020-09-08 14:39:57 18

原创 C# 实体类几种深拷贝的方法——解决关于对象赋值,A=B,A改变,B也改变问题

几种常见的深拷贝方式1、利用反射实现public static T DeepCopyByReflection<T>(T obj){  if (obj is string || obj.GetType().IsValueType)  return obj;  object retval = Activator.CreateInstance(obj.GetType());  FieldInfo[] fields = obj.GetType().GetFields(BindingF

2020-08-05 08:40:04 150

原创 Halocn OCR识别入门学习

一、建立OCR库dev_close_window()read_image(Image,'OCR')get_image_size(Image,Width,Hight)dev_open_window(0,0,Width,Hight,'black',Window)dev_display(Image)*字符处理rgb1_to_gray(Image,ImageGray)*鼠标画你要找的...

2020-05-06 09:43:49 105

原创 C# 图片的读取

//图片转成二进制 public byte[] GetPictureData(string imagepath) { /**/ ////根据图片文件的路径使用文件流打开,并保存为byte[] FileStream FileStream = new FileStre...

2019-10-06 11:17:19 1521

翻译 halcon模板匹配测试流程

*1、创建模板(获取要做模板区域的图像) *create_shape_model (ImageReduced, 4, 0, rad(360), rad(1), 'none', 'use_polarity', 30, 10, ModelID)*2、获取形状模型---第二步(为了显示找的的模板) *get_shape_model_contours (ShapeModel, ModelID...

2019-09-23 20:27:27 434

转载 相机与镜头常识

1.焦距(FocalLength)  焦距是从镜头的中心点到胶平面上所形成的清晰影像之间的距离。焦距的大小决定着视角的大小,焦距数值小,视角大,所观察的范围也大;焦距数值大,视角小,观察范围小。根据焦距能否调节,可分为定焦镜头和变焦镜头两大类。  2.光圈(Iris)  用F表示,以镜头焦距f和通光孔径D的比值来衡量。每个镜头上都标有最大F值,例如 8mm /F1.4代表最大孔径为 5...

2018-09-27 16:46:59 8418

转载 利用相机SDK采相转换至HImage

来源于http://blog.sina.com.cn/s/blog_d40acd530102xndm.htmlHalcon采相功能非常强大,基本支持各大品牌以及各个通信接口的相机,并且Halcon提供为相机厂商提供了制作Halcon相机接口库的办法,总之Halcon基本可以直接连接所有工业相机。但是Halcon连接相机采相存在两个问题:一是相机参数可调整范围有限,不如相机的SDK提供的可调...

2018-09-06 22:31:39 3457 2

原创 RichTextBox 改变每行的字体颜色

   RichTextBox 改变每行的字体颜色1、新建方法AppendTextColorful(this RichTextBox rtBox, string text, Color          color, bool addNewLine)2、调用方法AppendTextColorful(this RichTextBox rtBox, string text, Color     ...

2018-08-01 14:42:14 5051

转载 相机选型焦距、距离的计算

2018-08-01 11:30:59 3702

转载 工业相机的靶面大小

     在机器视觉中,工业相机是一种比较重要的配件。而在工业相机中,图像传感器又是最最关键核心的东西。而图像传感器的靶面的大小,往往直接关系到成像的质量。通常来讲,图像的成像质量与像素的大小成正比。这也就意味着,同样大小的图像传感器,如果分辨率越高,那么像素尺寸就越小,其成像质量也就会越差。             就如工业上的1/2.3’CMOS传感器,分辨率通常只在500万像素级别,而民...

2018-08-01 11:21:07 4409

转载 工业相机与镜头分辨率匹配

// 转自 奥普特讲述工业相机与镜头分辨率匹配的技术方案随着机器视觉行业的发展,为了更好的满足广大客户选配合适镜头的需求,奥普特自动化科技有限公司为您简述工业相机如何选配合适的镜头,以及在相机与镜头的分辨率匹配方面的技术方案。一般在对相机与镜头选型时,在分辨率匹配方面,为了方便记忆镜头与相机的匹配关系,人们常采用对应相机的分辨率来命名镜头。这种命名方式其实并不科学,同时给新接触视觉系统的人...

2018-08-01 11:19:27 5334

原创 C#与halcon联合开发——内存溢出

1.对所以的局部零时变量HObject类的使用前后都加Dispose();2.对全局的HObject类变量进行如下定义       HObject liveImage = null;        HObject ExpGet_liveImage()        {            return liveImage;       }        void E...

2018-07-25 21:56:09 2839

转载 halcon边缘提取和检测常用方法

转自:http://blog.csdn.net/Bob_qiuxu/article/details/46924969 一、边缘提取1、设置ROI兴趣区域2、快速二值化,并连接相邻区域。这样做的目的是进一步减少目标区域,通过二值化将目标区域大概轮廓提取出来3、提取最接近目标区域的轮廓常用函数有boundary,gen_contour_region_xld4、根据自己的需求提取需要的...

2018-07-20 15:45:04 4413 1

原创 halcon select_shape_xld按区域大小描绘xld

常用与对xld进行以面积、长、宽进行XLD的选择操作。select_shape_xld(XLD : SelectedXLD : Features, Operation, Min, Max : )XLD:需要选择的xldSelectedXLD:选择后的xldFeatures:面积、长、高等Operation:and、or等Min:最小值门限Max :最大值门限 例...

2018-07-20 15:44:32 5603

转载 halcon edges_sub_pix算子

转载http://blog.51cto.com/juwen/133003介绍一下Canny算子: 使用累计直方图计算两个阀值。凡是大于高阀值的一定是边缘; 凡是小于低阀值的一定不是边缘;如果检测结果大于低阀值但又小于高阀值,那就要看这个像素的邻接像素中有没有超过高阀值的边缘像素:如果有的话那么它就是边缘了,否则他就不是边缘;edges_sub_pix(Image:Edges:Filter...

2018-07-20 15:03:57 11423

转载 Halcon实现边缘提取

一、边缘提取 1、设置ROI兴趣区域2、快速二值化,并连接相邻区域。这样做的目的是进一步减少目标区域,通过二值化将目标区域大概轮廓提取出来3、提取最接近目标区域的轮廓常用函数有boundary,gen_contour_region_xld4、根据自己的需求提取需要的初步轮廓5、将初步提取的初步轮廓进行膨胀操作6、将膨胀后的区域和原图进行减操作(在这步之前有可能需要对原图进行高...

2018-07-19 16:21:47 5708

转载 MOS管基本认识(快速入门)

1. 三个极的判定G极(gate)—栅极,不用说比较好认 S极(source)—源极,不论是P沟道还是N沟道,两根线相交的就是 D极(drain)—漏极,不论是P沟道还是N沟道,是单独引线的那边2. N沟道与P沟道判别箭头指向G极的是N沟道 箭头背向G极的是P沟道3. 寄生二极管方向判定不论N沟道还是P沟道MOS管,中间衬底箭头方向和寄生二极管的箭头方向总是一致的:...

2018-07-05 09:10:10 75011 27

转载 c#通过app.manifest使程序以管理员身份运行

通常我们使用c#编写的程序不会弹出这个提示,也就无法以管理员身分运行。微软的操作系统使用微软的产品方法当然是有的,通过app.manifest配置可以使程序打开的时候,弹出UAC提示需要得到允许才可以继续,这样就获得了管理员的权限来执行程序微软在Windows Vista开始引入了UAC(用户帐户控制)新技术(点击这儿了解什么是UAC)。当程序执行时需要权限的话,UAC会弹出警告消息:让用户确认是...

2018-07-02 10:52:16 466

翻译 C#如何打包EXE程序生成setup安装文件

C#如何打包EXE程序生成setup安装文件作为研发人员,在本机上开发的winform wpf或者控制台程序需要发给其他人测试时候,一般需要对其进行打包生成setup安装文件,今天第一次,搜了下资料,记录如下:注:本程序是一个利用winform实现的客户端程序,解决方案为第一,右击“解决方案Client”-&gt;添加“新建项目”-》“其他项目类型”-》“安装和部署”-》“安装向导”然后点击下一步...

2018-06-30 15:11:41 6297

原创 避免某个子窗体重复运行的方法(showdialog、show)

在C#中窗口的显示有两种方式:模态显示(showdialog)和非模态显示(show)。二者最常见的区别是:模态显示后,弹出窗口阻止调用窗口的所有消息响应。只有在弹出窗口结束后调用窗口才能继续。在模态窗口“关闭”后,可以读取模态窗口中信息,包括窗口的返回状态,窗口子控件的值。Form2 test = new Form2;if(test.ShowDialog==DialogResult.OK){...

2018-06-30 14:51:56 2028

翻译 C#操作Excel总结

0. 导入命名空间: 1234using Microsoft.Office.Core;using Microsoft.Office.Interop.Excel;using System.IO;using System.Reflection;  1. 如何打开已有excel文档,或者创建一个新的excel文档  123Application app = new Application();Workb...

2018-06-30 13:35:42 147

翻译 C#如何测试代码运行时间

第一种方式:System.Diagnostics.Stopwatch stopwatch = new Stopwatch();stopwatch.Start(); // 开始监视代码运行时间// 需要测试的代码 ....stopwatch.Stop(); // 停止监视TimeSpan timespan = stopwatch.Elapsed; // 获取当前实例测量得出的总时间...

2018-06-30 09:40:09 678

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除