自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(139)
  • 资源 (14)
  • 收藏
  • 关注

原创 32位程序运行在64位系统下注册表路径的不同

64 位版本 Windows 包含的默认 64 位版本注册表编辑器 (Regedit.exe) 可显示 64 位和 32 位的 注册表项。WOW64 注册表重定向器为 32 位程序提供了对应于 32 位程序注册表项的不同注册表项。在 64 位版本的注册表编辑器中,32 位注册表项显示在以下注册表项下:HKEY_LOCAL_MACHINE\Software\WOW6432Node这个地方没注意到,难

2018-01-18 16:12:09 3539

转载 请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配

转载自:http://blog.csdn.net/xfz0330/article/details/51477769在c#中引入c++生成的dll,出现了如下问题:对 PInvoke 函数“GAProject!GAProject.Form1::Add”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管

2018-01-17 15:34:52 839

原创 DevExpress控件显示弹出注册对话框的应对方法

删除Properties下的license.licx,目前来看是可以的

2018-01-16 17:38:25 5235 1

原创 halcon中闪屏的解决方法

拖动滑块实时显示处理结果时,窗口中有明显的闪屏。通过设置"flush_graphic"的不同属性可以解决这个问题HOperator.SetSystem("flush_graphic","false"); // 图片较大,显示前先将溢出属性设为falseHOperator.ClearWindow(windowHandle);HOperator.DispObj(Image,windowHa

2018-01-10 11:14:01 2864

原创 .net dll或者exe避免被反编译的方法

1. 使用商业版混淆器软件2. 核心代码用C++封装dll,提供给.net 调用

2018-01-06 13:26:54 3802

原创 贴片机中计算PCB板旋转角度的方法

第一步:得到生产时mark 1 和 mark 2 在机器坐标系下的位置P1.X = MarkP1.X + (Find1.X - Width/2) * PixelRateP1.Y = MarkP1.Y + (Height/2  - Find1.Y) * PixelRateP2.X = MarkP2.X + (Find2.X - Width/2) * PixelRateP2.Y

2017-12-26 09:31:25 4776 2

原创 实现下拉文本框的输入提示功能

winform中已经实现了类似的功能List listInit = new List(); private void Form1_Load(object sender, EventArgs e) { listInit.Add("A1"); listInit.Add("A2"); list

2017-12-13 09:56:19 5536

原创 新建DataSet和DataTable,并从中提取数据到文本

DataTable dt = new DataTable();DataRow dr;dt.Columns.Add(new DataColumn("整数值 ", typeof(Int32)));dt.Columns.Add(new DataColumn("字符串值 ", typeof(string)));dt.Columns.Add(new DataColumn("日期时间值 ", type

2017-12-08 17:16:14 1414

原创 OCR识别中的字符分割

OCR识别的一个重要环节是将连续的字符分割为若干个独立的字符区域。1st 方法:1) 二值化  2)闭运算 3)计算连通域 4)面积筛选  5)区域排序          不稳定因素:       1)打印机油墨量多时,导致字符间距减少,闭运算效果达不到预期       2)若字符部分像素面积较少,闭运算导致字符完整性被破坏2nd 方法:       1

2017-11-29 10:09:40 8046

原创 Halcon读取jpg格式图片失败的处理方法

halcon读取jpg格式图片时,抛异常。最先想到的方法是用windows的画图软件或者PicPix软件将jpg格式的图片另存为BMP格式,但图片数量较多,这种方法不可取。如下的方法,利用Graphics类中的DrawImage方法重新绘制不带图片格式的Bitmap,而后save为BMP格式的图片。代码如下: OpenFileDialog dialog = new OpenFileD

2017-11-28 20:43:29 4994

原创 调试时进入opencv源码的配置方法

1. 安装CMake3.3.0,安装时选择“Add Cmake to the system PATH for all users”2. source code 选择opencv解压路径下的sources3. 点击Configure,界面变红后,再次点击Configure,变白后再点击Generate,那么便生成了opencv项目4. 打开opencv.sln,点击编译。生成.dll和l

2017-11-23 10:29:51 1672

原创 实现图片沿水平和竖直方向翻转(旋转180度)

相机旋转180度,为了不改变原有的算法,最好的方法是将图片旋转180,这样就和之前拍摄的图片一致了。最先想到的方法是在basler相机中设置,但只找到了ReverseX,不满足要求。查阅左飞的图像处理书,他介绍了基于GDI+ 中DrawImage实现翻转的方法,分辨率为2592*1944的图片,耗时260ms,太慢了,这种方法不可取。实现代码如下 private Bitmap

2017-11-22 16:30:40 13553 1

原创 绘图操作时报错“无法从带有索引像素格式的图像创建 Graphics 对象”

如下代码会出现“无法从带有索引像素格式的图像创建 Graphics 对象”异常Bitmap bitmap = new Bitmap(fileName);Graphics graphics = Graphics.FromImage(bitmap);解决方法为DrawImage到一个空的图片。 OpenFileDialog dialog = new OpenFil

2017-11-20 13:48:12 2881

原创 .net 中Bitmap和Halcon中HObject的相互转换

public void BitmapToHObjectBpp24(Bitmap bmp, out HObject image) { try { Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height); Bi

2017-11-20 10:49:31 14478 10

转载 Halcon和visionPro的比较

摘自:http://www.jmakautomation.com/halcon-vs-cognex-visionproMany times we are asked how MVTec HALCON compares to Cognex VisionPro.  Having worked extensively with Cognex VisionPro for 10+ yea

2017-11-14 12:49:47 9891 7

原创 C# Bitmap图像处理(含增强对比度的三种方法)

Bitmap类Bitmap对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成.因此Bitmap是用于处理由像素数据定义的图像的对象.该类的主要方法和属性如下:1. GetPixel方法和SetPixel方法:获取和设置一个图像的指定像素的颜色.2. PixelFormat属性:返回图像的像素格式.3. Palette属性:获取和设置图像所使用的颜色调色板.4. H...

2017-11-08 14:17:22 31091 1

原创 表面缺陷检测的几种方法

1.  location + blob + feature2.  location + differ + feature3.  frequency domain + spatial domain4.  photometric stereo5.  calibration + fitting6.  train model

2017-11-08 13:18:35 26746 5

原创 C#终止线程的方法

微软的文档中不建议以Abort的方式终止线程。比如终止线程的瞬间,FileStream没有释放,会出现问题,等等。Framework4.0提供了标准取消模式:协作式取消(Cooperative Cancellation),写了个小Demo进行验证开启两个线程,分别向对应文本框中添加信息。 public void Thread1st() {

2017-11-01 16:52:12 56463 1

原创 C# 字符串操作

//*******************【split】**********************            string str = "yyyy-MM-dd";            string[] splitArray = str.Split('-'); //splitArray[0]:yyyy splitArray[1]:MM splitArray[2]:dd

2017-11-01 11:27:03 215

原创 C#工作线程访问控件

摘自stackoverflow:https://stackoverflow.com/questions/14703698/invokedelegateIf you want to modify a control ,it must be done in the thread in which the control was created. This Invoke method allows

2017-10-31 15:16:18 285

原创 视觉检测基础(C#)

1. 两种取图方式1)生产消费者队列。临界区2)GetPicture 返回图片2. 图像处理1)输入图像2)输出处理结果true or false3. 多线程1)线程开启2)线程暂停。设备运行异常暂停,可恢复3)线程终止。不要使用Abort,建议while判断中加flag4. 信息交互1)进程间通信。例如与ShopFloor交互2)设备间通信。So...

2017-10-31 14:04:20 7828

转载 C#简单数据库操作

C#语言提供了丰富的数据库操作类库,极大地方便了对数据库的操作。在C#中,常用的有三种 访问数据库的模式分别为:SqlClient模式、OleDb模式和Odbc模式。其中SqlClient模式是微软老大哥专门为其产品Sql Server数据库而设计的,所以如果欲使用Sql Server数据库开发应用程序的话,建议使用这种模式,其性能和效率是比其他模式的要高。OleDb模式和Odbc模式可以运用在任

2017-10-30 13:08:37 23209 1

原创 Halcon与C#联合编程时的内存回收机制

摘自halcon文档:The .net philosophy is to let the garbage collector remove unused objes. However, because the garbage collector detects unused objects only from time to time, the used memory increases in

2017-10-30 11:09:59 4159 1

转载 使用MMX/SSE汇编指令集优化视频开发

转载自: http://blog.csdn.net/shaqoneal/article/details/459516491、汇编指令集目前大部分的PC机采用的都是Intel或者AMD的CPU,其支持的多媒体汇编指令有:MMX:多媒体扩展指令(MultiMedia eXtention),该指令由Intel在1996年为Pentium处理器开发,包括了5

2017-10-30 09:15:22 1112

转载 C# using 三种使用方式

转载自:http://www.cnblogs.com/fashui/archive/2011/09/29/2195061.html1.using指令。using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于Java的import,这个功能也是最常用的,几乎每个cs的程序都会用到。 例如:using System; 一般都会出现在*.

2017-10-27 10:16:12 221

原创 C# Halcon编程出现异常:“试图加载格式不正确的格式”

将项目属性中的目标平台 改为Any CPU,运行正常。原因不明

2017-10-24 10:39:28 3473

原创 C#读写数据是否为原子操作

Reads and writes of the following data types are atomic:bool, char, byte, sbyte, short, ushort, uint, int, float, and reference types.Reads and writes of doubles isn't atomic.

2017-10-19 14:15:22 1150

原创 C# 程序间通信的两种方式

一  读写txt方式多个程序同事读写一个txt时,按如下的方式,可确保程序安全。FileStream  fStream = new FileStream(strPath,XXX,FileAccess.ReadWrite,FileShare.ReadWrite) //write string txtFullPath = "F:\\Signal\\signal.

2017-10-19 13:10:34 4830

原创 委托类型定义时new和直接赋值两种方式

public int   delegate  DelegateFunc(int a,int b);public int AddFunction(int a,int b){console.writeline("{0}",a+b);}DelegateFunc  functionDe = new DelegateFunc( AddFunction) 和Delegate

2017-10-16 13:16:35 1490

转载 Socket编程(TCP、UDP)

转载自:http://www.cnblogs.com/zengqinglei/archive/2013/04/27/3046119.html本篇文章主要实现Socket在Tcp\Udp协议下相互通讯的方式。(服务器端与客户端的通讯)  1.基于Tcp协议的Socket通讯类似于B/S架构,面向连接,但不同的是服务器端可以向客户端主动推送消息。  使用Tcp协议通

2017-10-11 13:44:31 348

原创 Socket通信介绍

一 服务器端(1)建立服务器端的Socket,开始侦听整个网络中的连接请求。   备注:   0~1023的端口号为系统所保留,例如http服务的端口号为80,telnet服务的端口号为21,ftp服务的端口号为  23, 所以我们在选择端口号时,最好选择一个大于1023的数以防止发生冲突。   (2)当检测到来自客户端的连接请求时,向客户端发送收到连接请求的信息,并建立与客户端之

2017-10-09 17:07:32 388

原创 MFC中限制主对话框移动

在WM_SYSCOMMAND的响应函数中加入void CMainDlg::OnSysCommand(UINT nID, LPARAM lParam){ //if ((nID & 0xFFF0) == IDM_ABOUTBOX) //{ // CAboutDlg dlgAbout; // dlgAbout.DoModal(); //} //else //{ // CDialog

2017-09-30 13:48:55 338

转载 C#图片处理之:亮度和对比度的校正

转载自:http://blog.csdn.net/ki1381/article/details/1539487亮度和对比度应该是最常见的处理要求了。就算是N年前9寸黑白电视机也必有这两个旋钮。亮度调整算法很简单。对每一个像素的RGB值同时加上或减去一个特定的值就可以了。当然由于RGB取值范围都是在[0,255]的,所以要考虑到越界的问题。        /// 

2017-09-28 14:13:11 1973

转载 视觉引导钻头打孔

转载自:http://blog.csdn.net/bagboy_taobao_com/article/details/9199745如图1所示坐标系图1这是一台自动钻孔机的示意图.1. 坐标系代表钻孔机的平台坐标系(X轴, Y轴).2. 红点代表钻头, 坐标是(-70, -30).3. 蓝点代表CCD的中心, 

2017-09-22 09:55:39 744

转载 PCB设计中的Mark点

Mark点的分类1)Mark点用于锡膏印刷和元件贴片时的光学定位。根据Mark点在PCB上的作用,可分为拼板Mark点、单板Mark点、局部Mark点(也称器件级MARK点)2)拼板的工艺边上和不需拼板的单板上应至少有三个Mark点,呈L 形分布,且对角Mark点关于中心不对称3)如果双面都有贴装元器件,则每一面都应该有Mark点。4)需要拼板的单板上尽量有Mark点,如果没有放置

2017-08-29 08:56:04 9151

转载 ATL IDispatch调度接口

转载自:http://blog.csdn.net/shimazhuge/article/details/8825861目录(?)[+]概述IDispatch接口:完成接口调度的接口,可以不使用头文件完成接口的函数调用IDispatch 接口函数     1> GetIDsOfNames-根据接口函数的名称获取接口函数的ID     2>

2017-08-11 10:37:18 375

转载 C++在VS2008的IDE环境中操作Excel2007(基础)

转载自:http://blog.sina.com.cn/s/blog_6cc1c52d0100x3g6.html1.新建一个MFC Application,选择Dialog based,创建工程。2.放置一个button控件。3.在classView视图中,右键点击工程名,Add->class,在弹出的对话框中选择MFC class Form TypeLib,在打开的对话框中按图示选择

2017-07-20 09:41:38 410

原创 用户回调期间遇到未经处理的异常

对话框界面中动态创建静态文本框、编辑框和按钮控件,并删除。通过列表框控件来进行选择,可是显示控件的时候,有很大的概率会出现如上的问题。这是为什么呢?

2017-07-14 14:21:09 5025

转载 GigE Vision简介

转载自: http://blog.csdn.net/carson2005/article/details/56030625GigE Vision是由AIA制定的通信协议,用来实现在机器视觉领域利用千兆以太网接口进行图像的高速传输。该标准是基于UDP协议,与普通网络数据包不同之处在于应用层协议,应用层协议采用GVCP(GigE Vision控制协议)和GVSP(GigE Vision

2017-07-11 14:27:58 5620

原创 COM组件、ActiveX、OCX区别

COM 组件就是一组接口的集合,实现了 IDispath 接口的 COM 组件叫做 自动化组件。在自动化组件的基础上,在实现规定的接口就称为 ActiveX 组件,Ocx 是 Activex 的文件载体一般来讲 ,一个 ActiveX 对应一个 Ocx 文件, 如果愿意, 一个Ocx 文件也可以包含多个 ActiveX  控件

2017-07-03 12:14:41 15292 1

C#双缓存实现半透明缩略图跟随鼠标移动效果

C#双缓存实现半透明缩略图跟随鼠标移动效果,demo有助于了解winform双缓存实现方法,可以在此基础上实现控件拖拽功能

2019-11-29

Reflector反编译工具

最新版,亲自试过,可以用 NET程序员的开发利器.NET Reflector

2017-12-13

C# 程序间通信(SendMessage方式)

demo中两个窗体程序可以互发信息,可以在此基础上初步了解程序间通信的方法

2017-10-19

Socket通信

对话框实现打开服务端和客户端,服务端和客户端可以进行相互通讯

2017-10-11

basler相机SDK类(C++)

将basler的SDK函数封装为C++类

2017-06-01

两线程交替运行demo

实现了两个线程交替输出,基于vs2010

2017-05-28

C++多线程demo

一个简单的C++多线程demo

2017-05-28

basler ace_gige系列使用手册

介绍了basler pylon的使用,及相机内部功能

2017-05-28

实时获取光标当前位置的灰度值

MFC和Halcon编程,获取窗口上光标位置的像素灰度值。

2017-05-15

EPSON视觉引导相关资料

EPSON四轴六轴的和视觉引导相关的一些资料,里面也介绍了手眼标定的一些知识。

2017-05-15

C++面试题(第一部分)

常见的C++面试题汇总(第一部分),面试了几次题目的重复度还是可以的。

2015-12-03

粒子群优化算法

粒子群优化算法可以用于样本优选和特征提取

2015-11-27

matlab数据提取GUI文件

利用matlab工具,从excel中提取数据用于模式识别

2015-09-06

空空如也

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

TA关注的人

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