自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (6)
  • 收藏
  • 关注

转载 Halcon 一维码识别

一、图像预处理和条码增强对比度太低:scale_image(或使用外部程序scale_image_range),增强图像的对比度。图像模糊:emphasize锐化图像,使条码看起来更清晰。深色背景上读取浅色条码:invert_image反转图像。二、解码涉及的主要算子read_image :读图create_bar_code_model :创建条码模型find_bar_code :查找条码clear_bar_code_model :清除条码...

2021-05-06 11:26:33 1914

转载 halcon 开运算与闭运算

例一:毛刺在往外凸的面上策略1:分割出黑色部分,然后通过开运算去掉毛刺,再通过原黑色部分区域减去开运算之后的区域,得到毛刺部分的区域。1 read_image (Tu, 'C:/Users/xiahui/Desktop/tu.jpg')2 binary_threshold (Tu, Region, 'max_separability', 'dark', UsedThreshold)3 opening_circle (Region, RegionOpening, 50.5)4 diffe.

2021-01-26 17:17:08 8547

原创 halcon连接海康威视相机

一、使用mvs自开发驱动与halcon连接1.找到mvs针对第三方连接的dll文件,根据安装版本以及电脑配置信息进行确定2.将文件复制到halcon安装路径的bin文件夹下3.使用halcon的image acquisition使用mvsion接口连接相机,生成代码进行连接二、使用默认GigEVision2接口进行连接...

2021-01-12 11:43:48 9014 3

转载 halcon-tile_images_offset

遇上一个项目,需要将多幅图片进行拼接。研究了一下halcon中的tile_images_offset算子,这个算子可以完成类似以下结构的图片拼接工作:算子签名:tile_images_offset(Images : TiledImage : OffsetRow, OffsetCol, Row1, Col1, Row2, Col2, Width, Height : )其中OffsetRow, OffsetCol用来定义拼接后的图片在整张大图中的左上角位置;Row1,Col1,Row2,Col2用来定

2020-12-30 18:00:32 928

转载 halcon---concat_obj 连接两个对象

concat_obj()函数原型:concat_obj(Objects1,Objects2:ObjectsConcat::)功能:连接两个对象,ObjectsConcat = [Objects1,Objects2]值得注意的是,不能将union1/union2和concat_obj混淆。union1/2是针对区域融合(merged),因此对象的个数也被改变。而concat_obj是将两个区域组合到一起参数列表:第1个参数Objects1是输入对象,即对象1第...

2020-12-30 16:56:19 9793 3

转载 c#方法前的方括号--特性

1、序列化:[Serializable]public void 方法名(){...}2、WebServices方法:[WebMethod]public void 方法名(){...}3、Ajax(AjaxPro)方法:[AjaxPro.AjaxMethod]public void 方法名(){...}4、其他还有很多,如Duwamish7里的:[Browsable(false)]public void 方法名(){...}------------------------------

2020-12-14 10:38:37 991 1

转载 gen_circle()

算子:gen_circle( : Circle : Row, Column, Radius : )作用:gen_circle生成一个或多个由中心和半径描述的圆。 gen_circle仅创建对称圆。为此,半径向内四舍入五为0.5的倍数。如果为半径指定一个整数(即1、2、3,...),则获得一个均匀的直径,因此,该圆只能相对于坐标为小数部分为0.5的中心对称。因此,在内部将中心坐标调整为小数部分为0.5的最近坐标。在此,整数坐标将四舍五入为小数部分为0.5的下一个较小值。对于奇数直径...

2020-12-08 18:25:01 2993

转载 fill_up和fill_up_shape

算子:fill_up(Region : RegionFillUp : : )功能:填充区域中的孔或和缝等将输入区域的孔,缝隙进行填充,形成新的完成区域。输入参数:Region输入含孔(缝隙)的区域输出参数:RegionFillUp: 输出一个布满缝隙及孔的区域算子:fill_up_shape(Region : RegionFillUp : Feature, Min, Max : )功能:fill_up_shape会填充输入区域Region中具有给定形状特征的那些孔。 参数特征确定要使用的形状特征,而最小

2020-12-08 18:17:09 1116

转载 connection()算子简介

1、connection(Region, ConnectedRegions)connection算子一般就两个参数,参数Region表示需要计算的输入图像区域,参数ConnectedRegions表示输出图像区域。2、connection函数简介如上图所示 ,整个椭圆里面的所有矩形,我们把所有这些矩形称之为一个region,这个时候你用Region做参数计算区域内目标的个数就是1,那么,现在我想知道这个Region实际上包含了多少个子区域sub_region,即多少个矩形,我要怎么弄?当然是

2020-12-08 18:12:57 3473

转载 difference与sub_image

1.difference算子检测region形状的差别,计算对象是两个region,不考虑region灰度值是否有差异;2.sub_image算子是灰度值相减,计算对象是两幅图像,主要检测图像区别,和形状没有多大关系;

2020-12-08 18:10:18 345

转载 shape_trans()

原型:shape_trans(Region : RegionTrans : Type : )函数作用:变换区域的形状参数Type的可选项解释如下:convex:凸包性ellipse:与输入区域有相同的矩和区域的椭圆outer_circle:最小外接圆inner_circle:最大内接圆rectangle1:平行于坐标轴的最小外接矩形rectangle2:最小外接矩形inner_rectangle1:平行于坐标轴的最大内接矩形inner_rectangle2:输入区

2020-12-08 18:06:16 1402

转载 dyn_threshold()使用

1. 算子结构首先看dyn_threshold 算子参数dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark )根据阈值进行图像分割处理参数分析:OrigImage:需要进行阈值分割的原始图像ThresholdImage: 通过一定图像预处理得到的阈值图像(这个预处理通常是对原图应用mean_image/gauss_image/binomial_filter 处理后的图像)Region

2020-12-08 18:01:25 845

转载 Halcon常用快捷键

1,ctrl+E————打开浏览例程2,ctrl+F————查找/替换3,F1—————-查看帮助4,F2—————-重置程序5,F3—————-取消程序注释6,F4—————-程序注释7,F5—————-程序运行,从第一行程序运行到最后一行8,F6—————-程序单步运行9,F7—————-单步跳入函数10,F8—————单步跳出函数...

2020-12-08 17:23:33 1661

转载 select_shape_std()

作用:select_shape_std(Regions : SelectedRegions : Shape, Percent : )函数根据Shape指定的形状特征,从Regions 选择满足特征的区域,保存到SelectedRegions 。Shape有以下取值 max_area 面积最大区域被选择 rectangle1 通过smallest_rectangle1计算区域的最小外接平行矩形, 如果计算出的区域与原区域面积百分比大于Percent ,则此区域选中输出。 rectang...

2020-12-08 17:21:30 4929

转载 mean_image()平滑图像

算子:mean_image(Image : ImageMean : MaskWidth, MaskHeight : )功能:通过均值平滑一个图像。算子mean_image使用所有输入图像(Image)的灰度值执行线性平滑。输入参数:Image:输入图像(byte’/ int2’/ uint2’/ int4’/ int8 /real’/ vector_field);MaskWidth:输入平滑蒙板宽度,默认 9’参考 3, 5, 7, 9, 11, 15, 23, 31, 43, ...

2020-12-08 16:54:59 2881

转载 halcon读取图像

读取图像 :read_image打开图像窗口:dev_open_window获取图像尺寸:get_image_size显示图像:dev_display设置窗口句柄:dev_set_window合适的窗口:dev_open_window_fit_image(dev_open_window_fite_size)read_image (Image, '1')*打开图像窗口dev_open_window (0, 0, 512, 512, 'black', WindowH.

2020-11-26 21:14:46 1327

转载 gen_empty_obj算子的作用

gen_empty_obj算子解释:Create an empty object tuple。其算子签名为:gen_empty_obj( : EmptyObject : : )那么有人要问:创建一个空的object有什么用呢?其实gen_empty_obj 的作用类似于面向对象编程中的“类的实例化”,可以防止“空引用异常”。语句gen_empty_obj( EmptyObject )的意思是:EmptyObject 是真实存在的一个object(因为它被创建出来了),只是...

2020-11-22 18:54:57 3358

转载 Halcon中 reduce_domain算子和crop_domain算子的使用及配合

1 reduce_domain算子reduce_domain ( Image, Region : ImageReduced : : ) 其中,Image是输入的图像;Region是输入的区域;ImageReduced是输出的图像,是Image中Region的那部分图像。1 2  通过reduce_domain确实能获得特定区域Region位置的图像,但是,reduce_domain是缩小一个图像的定义域,并不缩小图像的实际尺寸,即新图像ImageReduced尺寸大小并未发生变化。如果使用g

2020-10-16 09:23:15 3400

转载 C# Socket通讯

参考http://bbs.cskin.net/thread-326-1-1.html的大神的代码服务器端:第一步:创建一个用于监听连接的Socket对像;第二步:用指定的端口号和服务器的ip建立一个EndPoint对像;第三步:用socket对像的Bind()方法绑定EndPoint;第四步:用socket对像的Listen()方法开始监听;第五步:接收到客户端的连接,用socket对像的Accept()方法创建一个新的用于和客户端进行通信的socket对像;第六步:通信结束后一

2020-09-21 10:42:21 767

转载 c# 网口通讯

一、命令行 客户端程序:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Net;using System.Net.Sockets;using System.Threading; namespace client{ class Program { pri...

2020-09-17 09:26:06 2783

转载 C# ToString(“x2“)

C# ToString("x2")的理解1).转化为16进制。2).大写X:ToString("X2")即转化为大写的16进制。3).小写x:ToString("x2")即转化为小写的16进制。4).2表示输出两位,不足的2位的前面补0,如 0x0A 如果没有2,就只会输出0xA...

2020-09-10 15:00:55 4169

转载 移位操作

<<、>>、>>>移位操作  <<,有符号左移位,将运算数的二进制整体左移指定位数,低位用0补齐。int leftShift = 10;System.out.println("十进制:" + leftShift + ", 二进制:" + Integer.toBinaryString(leftShift));int newLeftShift = letfShift << 2;System.out.println("左移2位后十进

2020-09-09 16:55:40 1702

转载 c# Winform中menuStrip控件中ToolStripMenuItem排序说明

C#的ContextMenuStrip控件中,没有为ToolStripMenuItem安排顺序的属性。想要为ToolStripMenuItem排序,或者加入新项加到某个位置,无法通过属性值来控制顺序。系统默认通过items.AddRange的方式添加,遵循先来后到的原则。如果需要添加新的ToolStripMenuItem并且是要放到第一位时,我们可以通过在Form.Designer.cs文件中直接将需要放在首位的ToolStripMenuItem放到首位第二中方式,也可以通过代码将Too

2020-09-08 15:54:59 2734

转载 c# doubleBuffered

如果你在Form中绘图的话,不论是不是采用的双缓存,都会看到图片在更新的时候都会不断地闪烁,解决方法就是在这个窗体的构造函数中增加以下三行代码: 请在构造函数里面底下加上如下几行: SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景. SetStyle(ControlStyles.DoubleBuffer,...

2020-09-07 12:19:49 1230

转载 C# ThreadPool线程池

CLR线程池并不会在CLR初始化时立即建立线程,而是在应用程序要创建线程来运行任务时,线程池才初始化一个线程。线程池初始化时是没有线程的,线程池里的线程的初始化与其他线程一样,但是在完成任务以后,该线程不会自行销毁,而是以挂起的状态返回到线程池。直到应用程序再次向线程池发出请求时,线程池里挂起的线程就会再度激活执行任务。这样既节省了建立线程所造成的性能损耗,也可以让多个任务反复重用同一线程,从而在应用程序生存期内节约大量开销。通过CLR线程池所建立的线程总是默认为后台线程,优先级数为ThreadPr

2020-09-07 09:42:35 858

转载 C# 文件夹操作之Directory类和DirectoryInfo类

Directory是位于System.IO的,所以为了方便使用,建议先引用System.IO在代码开头添加:using System.IO;Directory,静态类,不可实例化 //删除此目录 Directory.Delete(@"C:\Users\Administrator\Desktop\新建文件夹") //删除此目录,true表示要是此目录有子目录也删除,否则就抛出异常 Directory.Delete(@"C:\Users\Administrat..

2020-09-06 20:19:13 1019

转载 C# check

checked运算符通知运行时当溢出时抛出一个OverflowException异常,checked运算符可以用于++, --, -(一元), +, -, *, /以及整数类型之间的显示转换。checked运算符可以用于一个表达式或者一个语句块,如:1 int a = 1000000;2 int b = 1000000;3 int c = checked( a * b ); // 用于表达式4 5 checked6 {7 c = a * b; // 用于语句块8 }.

2020-09-02 15:13:01 966

原创 C# + 的用法

+ :c#中的用法委托对象可使用 "+" 运算符进行合并。一个合并委托调用它所合并的两个委托。只有相同类型的委托可被合并。"-" 运算符可用于从合并的委托中移除组件委托。使用委托的这个有用的特点,可以创建一个委托被调用时要调用的方法的调用列表。这被称为委托的多播(multicasting),也叫组播。...

2020-09-02 12:08:50 269

原创 C# #region简单使用

#region 是 C#预处理器指令。#region 是一个分块预处理命令,它主要是用于编辑器代码的分块,在编译时会被自动删除。#region 使您可以在使用VisualStudio代码编辑器的大纲显示功能时指定可展开或折叠的代码块。简单来说,就是将复杂的代码块折叠,是界面看起来整洁一些#region用法: #region说明 Program #endregion作用:(1)注释其中间的代码段(2)折叠中间的代码块(折叠后的说明文字为#re...

2020-09-02 11:50:47 14503

原创 C# where

函数后面加where表示,泛型的约束publicstaticList<T> Query<T>(stringsqlType, stringsql) whereT: classwhere子句用于指定类型约束,这些约束可以作为泛型声明中定义的类型参数的变量约束泛型的类型,限制泛型的适用类型接口约束例如,声明一个泛型类MyGenericClass,这样,类型参数T就可以实现 IComparable<T> 接口:publicclassMyGen...

2020-09-02 11:48:34 613

原创 C# Using的使用

Using的三种用法Using namespace 命名空间 Using语句 简化资源释放,在一定范围内有效,出了这个范围时,自动调用IDisposable释放掉,只有实现了IDisposable接口的类有效 Using+别名 using+别名=包括详细命名空间信息的具体类型,这种做法有个好处就是当同一个cs引用了两个不同的命名空间,但两个命名空间都包括了一个相同名字的类型的时候。当需要用到这个类型的时候,就每个地方都要用详细命名空间的办法来区分这些相同名字的类型。而用别名的方法会更简洁,用到哪

2020-09-02 11:47:18 85

转载 C#中unsafe的使用

1. unsafe在C#程序中的使用场合: 实时应用,采用指针来提高性能;  引用非.net DLL提供的如C++编写的外部函数,需要指针来传递该函数;  调试,用以检测程序在运行过程中的内存使用状况。2. 使用unsafe的利弊  好处是:性能和灵活性提高;可以调用其他dll的函数,提高了兼容性;可以得到内存地址;  麻烦是:非法修改了某些变量;内存泄漏。3. unsafe与unmanaged的区别  managed code是在CLR监管下运行的程序。以下任务由CLR来执行:管

2020-09-02 09:59:25 2970

转载 OCR字符识别--文字切割算法-投影切割优化

前言在上文(文字切割算法-基于投影的切割)中发现切割结果并不是很理想,所以在本文提出优化算法对结果进行进一步处理。本算法的解决思路很简单,即针对已暴露出的问题进行解决,对于未暴露的问题就无能为力了。所以算法的鲁棒性并不是很好,但是简单易实现。发现问题 对基于投影的切割结果进行观察,可以将问题总结为三类。整体连接 多个文字连接在一起左右结构分开 左右结构的文字被切割成两个字左右结构分开后连接...

2020-08-31 16:26:18 1113

转载 OCR字符识别--文字切割算法之投影切割

前言: 文字识别的关键之所在就是单个文字的切割,切割的准确度极大的影响了文字识别的正确率。本文基于传统横纵投影的思想对文字进行切割,使用java与python实现了本算法。基本思路:1、横向扫描,切出每一行 2、对每一行进行纵向扫描,得出每一个字经过对原始图像的相关处理,得出如下二值图(仅有黑白色)。这里的‘相关处理’是很复杂的,涉及图像学相关知识,我是通过opencv进行处理的。本文主要对切割算法进行讨论,图片处理部分望读者...

2020-08-31 16:21:22 2863 1

转载 OCR字符识别

首先介绍一个名词OCR(Optical Character Recognition,光学字符识别)。是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。OCR的应用领域:文字识别OCR通常应用在证件识别(身份证,驾驶证,护照,名片)、文档检索、截图识别(猿题库,作业帮)OCR对图片都做了什么:实际上我们预期的结果是把只有包含单个文字的图片交给计算机去翻译。机器是怎么看到纸质或者电子文档或是图片上的文字的呢?

2020-08-31 14:51:57 1276

转载 Halcon与C#二次开发

1、Halcon二次开发的两种方式① 使用C#的语法方式逐句改写Halcon代码优点:各种变量的类型清楚,可读性强,改写后代码行数几乎不会增加多少。缺点:改写工作量大,容易出错,如果Halcon代码量大,后期将难以更新维护。② 封装成函数导出 (推荐)优点:操作简单,对开发人员编程能力要求低,工作量少,且便于维护。缺点:Halcon函数导出的代码可读性极低,一旦丢失原Halcon文件,二次开发程序将难以更新维护。建议:主二副一。2、Halcon联合C#开发必备的设置步骤(Ha

2020-08-31 13:48:05 929

转载 卷帘曝光与全局曝光的区别

全局曝光和卷帘曝光是常见的相机曝光方式。一般来说,CCD相机是全局曝光,而CMOS相机则存在卷帘曝光。那么,这两种方式孰优孰劣呢?或者说,他们两者的差别在哪里呢?那么,先从两者的定义说起。全局曝光  全局曝光的方式比较简单。也就是说光圈打开后,整个图像芯片同时曝光。因此,曝光时间与机械的开关速度有关。既然与机械运动相关,所以,存在理论上的最小曝光时间。卷帘曝光  顾名思义,卷帘曝光的方式可能与卷帘的概念相关。此种曝光方式是当光圈打开后,还存在具有一定间隔的卷帘来控制传感器的曝光时间。注意,如

2020-08-31 10:44:50 4603

转载 工业相机镜头参数

一、 镜头主要参数  1.焦距(FocalLength)  焦距是从镜头的中心点到胶平面上所形成的清晰影像之间的距离(注意!,相机的焦距与单片凸透镜的焦距是两个概念,因为相机上安装的镜头是多片薄的凸透镜组成,单片凸透镜的焦距是平行光线汇聚到一点,这点到凸透镜中心的距离)。焦距的大小决定着视角的大小,焦距数值小,视角大,所观察的范围也大;焦距数值大,视角小,观察范围小。根据焦距能否调节,可分为定焦镜头和变焦镜头两大类。  2.光圈(Iris)  用F表示,以镜头焦距f和通光孔径D的比值来衡量。

2020-08-31 09:48:28 3042 1

转载 线阵相机与面阵相机的区别

线阵相机  主要应用于工业、医疗、科研与安全领域的图象处理。在机器视觉领域中,线阵相机是一类特殊的视觉机器。与面阵相机相比,它的传感器只有一行感光元素,因此使高扫描频率和高分辨率成为可能。线阵相机的典型应用领域是检测连续的材料,例如金属、塑料、纸和纤维等。被检测的物体通常匀速运动,利用一台或多台相机对其逐行连续扫描,以达到对其整个表面均匀检测。可以对其图象一行一行进行处理,或者对由多行组成的面阵图象进行处理。另外线阵相机非常适合测量场合,这要归功于传感器的高分辨率,它可以准确测量到微米...

2020-08-31 09:36:41 2805

转载 basler相机详细使用说明

首先安装basler相机的驱动,应用程序包如下所示:选择开发应用者和USB接口方式。最后安装成功后会在桌面上显示,如下所示:主要使用下面那个pylon viewer软件,点击该应用出现以下界面双击此处,调整图像采集参数设置:主要对该部分进行设置:关闭自动增益设置图像大小曝光时间设置,关闭自动曝光。(曝光时间单位为us)设置好参数,打开相机:点击连续采集选项,采集图像,操作界面如下所示:打开光圈,调整焦距,以及成像物距以便获取清晰..

2020-08-31 09:16:36 17545 5

Quantum Algorithms for Optimization and Polynomial Systems

Quantum Algorithms for Optimization and Polynomial Systems Solving over Finite Fields

2019-03-31

Link Prediction based on Quantum-Inspired Ant Colony Optimization

Link Prediction based on Quantum-Inspired Ant Colony Optimization 论文

2018-12-05

简约大方论文PPT模板

简约大方毕业论文答辩PPT模板,以蓝色为主格调,简约美观

2018-11-27

简约答辩PPT模板

包含一套简约大方的PPT模板,格式,动画,样式全面,使用简单。

2018-11-27

MyEclipse 破解文件+破解说明

MyEclipse 破解文件+破解说明,包含详细的破解步骤说明,简单易懂

2018-11-22

论文答辩PPT模板

包含26套PPT模板,包括小清新风格、简约风等多种风格,可用于论文答辩,开题答辩等

2018-11-21

空空如也

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

TA关注的人

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