- 博客(37)
- 收藏
- 关注

原创 Halcon数据类型
1. HDevelep下数据类型(1)图形数据image(图像),region(区域),xld(轮廓)(2)控制数据integer(整型),real(实型),string(字符串),tuple(元组),handle(句柄)tuple元组也可以近似的理解为数组,但是元组可以有几种不同类型的数据组成。 array:=[1,2,'a',3,4]2. vc++下数据类型(1)图形数...
2018-09-17 23:42:38
3327
原创 文件操作
1,文本文件和二进制文件https://blog.youkuaiyun.com/double_happiness/article/details/711238092,文本文件的读写打开文件的模式 //写文件 FILE *fp=fopen("..\\1.txt", "w");// 打开文件 if (fp != NULL) { fwrite("11111111111nihao", 1, str..
2019-03-14 23:17:17
209
原创 VC++深入详解第二天
1,类的特性封装:也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承:继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。继承分为单继承和多重继承一般不建议用多重继承。多态:是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象...
2019-03-14 14:08:19
286
原创 VC++深入详解第一天
1,API与SDKAPI应有程序接口SDK软件开发包2,句柄在windows程序中,有各种各样的资源(窗口,图标,光标等),系统在创建这些资源时会为他们分配内存,并返回标识这些资源的标识号,即句柄。句柄可以理解为指针的指针。https://blog.youkuaiyun.com/perfectguyipeng/article/details/711898223,消息typedef struct...
2019-03-14 11:31:32
270
原创 GDI对象CPen
1. 基本用法MFC的CPen类封装了画笔对象,其中的成员函数CreatePen实现创建画笔的功能,函数原型如下:MFC的CPen类封装了画笔对象,其中的成员函数CreatePen实现创建画笔的功能,函数原型如下: BOOL CreatePen( int nPenStyle, //画笔风格 int nWidth, //画笔宽度 COLORREF crColor ) ...
2018-10-08 16:45:48
270
原创 GDI对象CFont
1. 字体的创建(1)字体创建基本用法查看:http://www.jizhuomi.com/software/239.html(2)总结 CFont类封装了一个Windows图形设备接口(GDI)字体,并为操作字体提供了成员函数。创建字体时首先构造一个CFont对象,再通过调CreateFont、CreateFontIndirect、CreatePointFont或CreatePointFo...
2018-10-07 10:58:06
381
原创 C++异常处理
1. C++异常处理基本用法查看菜鸟教程:http://www.runoob.com/cplusplus/cpp-exceptions-handling.html//头文件#include <math.h>#include <iostream>using namespace std;//求取平方根函数double GetSqrt(
2018-10-06 17:44:40
165
原创 halcon图像预处理之图像锐化
图像锐化是为了让图像的边界、轮廓线以及图像的细节变得清晰。可以用高通滤波器和空间域微分法使图像变得边界变得清晰。但是要注意的是对图像锐化图像要有较高的信噪比,否则锐化后图像信噪比更低。可以先对图像进行平滑后再锐化。1. 空间域锐化(微分法)frei_amp(Image : ImageEdgeAmp : : )使用Frei-Chen方法检测边缘(振幅)。kirsch_amp(Image :...
2018-09-29 12:43:19
13203
原创 网络通信之UDP
1. UDP通信过程2. 服务器端创建套接字绑定端口(1)调用socket(),分配文件描述符,即监听套接字(2)调用bind(),将套接字与本地IP地址和端口绑定数据交互阶段(1)调用recvfrom()接受消息(2)调用sendto()发送消息关闭阶段(1)调用colse()关闭套接字创建服务器端(c++实现)头文件#include <WinSock.h&g...
2018-09-29 08:05:09
219
原创 网络通信之TCP
1. 服务器端建立连接阶段(1)调用socket(),分配文件描述符,即监听套接字(2)调用bind(),将套接字与本地IP地址和端口绑定(3)调用listen(),监听特定端口,socket()创建的套接字是主动的,(4)调用listen使得该文件描述符为监听套接字,变主动为被动(5)调用accept(),阻塞等待客户端连接数据交互阶段(1)调用read(),阻塞等待客户...
2018-09-28 22:44:22
291
原创 C文件操作
1. 文件读写的基本用法查看菜鸟教程:http://www.runoob.com/cprogramming/c-file-io.html2. 总结文件操作的基本流程:C文件操作基本函数C语言中没有输入输出语句,所有的输入输出功能都用 ANSI C提供的一组标准库函数来实现。文件操作标准库函数有://文件的打开操作 fopen 打开一个文件//文件的关闭操作 fclose 关闭一...
2018-09-27 22:46:11
213
原创 C++ STL之map和multimap
1. 定义二叉树优势自动排序。map不可以出现相同关键字,multimap可以出现相同关键字2. 基本用法//头文件#include&amp;amp;amp;amp;amp;lt;map&amp;amp;amp;amp;amp;gt;using namespace std;//初始化 1.创建空map容器对象,如: map&amp;amp;amp;amp;amp;lt;int,string&amp;amp;amp
2018-09-27 01:15:52
157
原创 C++ STL之set和muliset
1. 定义二叉树优势自动排序。set不会出现多个相同关键字,multiset可以出项相同的关键字2. 基本用法//头文件#include<iostream>#include<set>using namespace std;struct Students{ string id; int age,height; Students(str...
2018-09-26 23:05:15
812
原创 C++ STL之list
1. 定义不连续的内存,通过指针连接起来的内存(双向链表)2. 基本用法//头文件 #include &lt;list&gt; using namespace std;//初始化 void InitList() { list&lt;int&gt; lst; //初始化一个空的 list&lt;int&gt; lst1(10); // 初始化一个包括10个元素...
2018-09-26 22:59:34
129
原创 C++ STL之deque
1. 定义分段的连续内存,可以通过前面和后面增加内存(分段内存数组)2. 基本用法//头文件 #include&amp;amp;amp;lt;deque&amp;amp;amp;gt; using namespace std;//基本操作 定义: deque&amp;amp;amp;lt;数据类型&amp;amp;amp;gt; 变量名; Eg: deque&amp;am
2018-09-26 22:51:50
472
原创 C++ STL之vector
1. 定义2. 基本用法//头文件 #include &amp;amp;amp;amp;lt;vector&amp;amp;amp;amp;gt; using namespace std;//初始化 vector():创建一个空vector vector(int nSize):创建一个vector,元素个数为nSize vector(int nSize,const t&amp;amp;amp;amp;amp; t):创建一个vector,元素个
2018-09-26 22:49:07
125
原创 C++ 类
1. 类的基础知识查看菜鸟教程:http://www.runoob.com/cplusplus/cpp-classes-objects.html2. 总结c++类有6个默认成员函数:构造函数,拷贝构造函数,析构函数,赋值操作符重载。取地址操作符重载,const修饰的取地址操作符重载。其中前四个默认成员函数是我们重点研究对象。下面以时间类为例子讲解类默认成员函数。构造函数1.函数名与类名...
2018-09-26 21:07:15
179
原创 halcon 2DMetrology
1. 2D测量基本步骤2. 直线测量read_image (Image, 'fuse')get_image_size (Image, Width, Height)*创建一个需要用来测量几何图形的数据结构create_metrology_model (MetrologyHandle)*设置被测量图像的尺寸大小set_metrology_model_image_size (Metrol...
2018-09-26 06:42:49
2674
原创 halcon region特征深入详解
当我们想要提取Region时,图像处理后,往往存在几个类似的Region,此时,需要根据Region的一些特殊特征,来选择指定的Region。求Region指定特征值:region_features(Regions : : Features : Value)根据特征值选择区域:select_shape(Regions : SelectedRegions : Features, Operatio...
2018-09-22 02:17:25
7324
原创 halcon基于形状的几何定位算子选择
一,几何定位的算子选择不支持缩放的几何定位。根据模版图像创建模版create_shape_model ()find_shape_model ()find_shape_models ()clear_shape_model()根据XLD轮廓创建模版create_shape_model_xld()find_shape_model ()find_shape_models ()c...
2018-09-21 23:05:21
1494
原创 halcon图像预处理之灰度形态学
灰度形态学处理有腐蚀,膨胀,开运算,闭运算,顶帽操作,低帽操作等。可以对图像进行图像平滑,图像增强等。一,图像平滑gray_opening_shape(Image : ImageOpening : MaskHeight, MaskWidth, MaskShape : )开运算。开操作会抑制比结构元小的亮细节,去除亮点噪声gray_closing_shape(Image : ImageCl...
2018-09-21 17:18:56
8775
原创 halcon图像预处理之图像增强
图像增强一般通过如下几种方式:1. 灰度值线性变换scale_image: g’ := g * Mult + Add g为当前的灰度值,Mult 为所乘的系数,Add为加的偏移值,由公式可以看出用scale_image来处理图像是个线性变化,会让黑的地方更黑,亮的地方更亮。scale_image_max:将灰度值拉伸到0-255。2. 增强图像对比度- emphasize(Image...
2018-09-20 20:44:40
20869
原创 halcon阈值分割
1. threshold(Image : Region : MinGray, MaxGray : )全局阈值分割,适用于环境稳定,目标与背景存在明显的灰度差的场合。应用一利用灰度直方图确定阈值进行图像分割。一般是物体与背景之间存在一个明显的灰度差,直方图会存在两个波峰一个是目标一个是背景,那么阈值就是物体与背景之间的最小值。 read_image (Image, 'clip') gr...
2018-09-20 01:44:30
10480
原创 halcon图像预处理之图像平滑
图像预处理就是在提取目标物之前对图像进行一些预处理,预处理通常包括两大方向:图像去噪和图像增强。1. 图像去噪(1)时域去噪中值滤波:Media_Image 中值滤波的原理是拿特征区域在图像滑动,每一点(与特征区域的中点重合)的值为特征区域所覆盖的范围的中值均值滤波·:mean_image 均值滤波的原理是拿特征区域在图像滑动,每一点(与特征区域的中点重合)的值为特征区域所覆盖的...
2018-09-18 16:18:32
9658
原创 数据类型之字符串
1. C字符串与C++字符串基本用法查看菜鸟教程C字符串:http://www.runoob.com/cprogramming/c-strings.html 查看菜鸟教程C++字符串:http://www.runoob.com/cplusplus/cpp-strings.html2. 易错难点(1)字符数组与字符串区别C++中,字符数组和字符串都是通过char关键字来定义的,...
2018-09-16 15:03:45
352
原创 数据类型之数组
数组基本用法。 查看菜鸟教程:http://www.runoob.com/cprogramming/c-arrays.html易错难点 (1)数组名和指针区别。.
2018-09-16 01:51:38
285
原创 数据类型之结构体
一,结构体类型的基本用法查看菜鸟教程:http://www.runoob.com/cprogramming/c-structures.html二,易错难点(1)C和C++中结构体的区别C的结构体内不允许有函数存在,C++允许有内部成员函数,且允许该函数是虚函数。所以C的结构体是没有构造函数、析构函数、和this指针的。C的结构体对内部成员变量的访问权限只能是public,而C...
2018-09-16 00:57:45
456
原创 TCP和UDP通信的区别
区别: TCP—传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能顺序地从一端传到另一端。 UDP—用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目...
2018-08-05 21:34:26
482
原创 几何定位的基本流程
1、 确定出ROI的矩形区域 2、 从ROI区域提取出图像 (可以先进行图像处理) 3、 创建模板 create_shape_model() 金字塔级数 由numlevels 指定 值越大则 找到物体的时间 越少; AngleStart 和AngleExtent 决定可能的旋转范围,AngleStep指定角度范围搜索的步长; MinConstrast将模板从图像的噪声中分离出来,如果灰度...
2018-07-13 22:57:11
2664
原创 halcon基于形状的几何定位函数说明
create_shape_model(Template: : //reduce_domain后的模板图像 NumLevels,//金字塔的层数,可设为“auto”或0—10的整数 AngleStart,//模板旋转的起始角度 AngleExtent,//模板旋转...
2018-07-13 22:44:26
1877
原创 MFC常见控件:滚动条控件
一、滚动条控件简介 滚动条大家也很熟悉了,Windows窗口中很多都有滚动条。前面讲的列表框和组合框设置了相应属性后,如果列表项显示不下也会出现滚动条。滚动条分为水平滚动条(Horizontal Scroll Bar)和垂直滚动条(Vertical Scroll Bar)两种。滚动条中有一个滚动块,用于标识滚动条当前滚动的位置。我们可以拖动滚动条,也可以用鼠标点击滚动条某一位置使滚动块移动。从滚...
2018-05-09 18:32:39
822
原创 MFC常用控件:列表框控件
一、列表框控件简介 列表框给出了一个选项清单,允许用户从中进行单项或多项选择,被选中的项会高亮显示。列表框可分为单选列表框和多选列表框,顾名思义,单选列表框中一次只能选择一个列表项,而多选列表框可以同时选择多个列表项。 列表框也会向父窗口发送通知消息。这些通知消息含义如下: 1. LBN_DBLCLK:用户用鼠标双击了一列表项,只有具有LBS_NOTIFY的列表才能...
2018-05-09 05:25:36
1018
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人