自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (3)
  • 收藏
  • 关注

原创 halcon数组操作

Tuple1 := [1,0,3,4,5,6,7,8,9] // 对数组进行定义及初始化Tuple1[1]:=2//对某一个值进行赋值halcon 对大小写敏感上面的Tuple1[1]:=2 如果不小心写成 tuple1[1]:=2 那么halcon 将新定义一个数组长度为2Tuple1 := [1,0,3,4,5,6,7,8,9] // 对数组进行初始化Tuple2:=[11,12,13]t:=[Tuple1,Tuple2] //连接成新的数组i:=|t|...

2022-03-03 15:29:34 2443

原创 halcon 数制转换及 字符格式化输出

i1 := 123$'#o' //8进制,0为前缀i2 := 123$'#x' //16进制,0x为前缀,7b为赋值i3 := 123$'#X' //16进制,0x为前缀,7B为赋值,7b与7B是一样的i4 := 123$'#f' //double型,默认保留小数点后六位.i5 := 123$'#g' //使数字始终保持六位,不足补零.i6 := 123$'#G' //使数字始终保持六位,不足补零.i7 := 123$'#e' //转换成科学计数i8 := 123$'#E' /...

2022-02-26 16:19:29 2008

原创 Halcon语法

赋值符号: :=不等号: #注释符: *字符串赋值: str:=’halcon’等于比较符: if(X=10)与: if(A>1 and A<30)或: if(A>1 or A<30)求反: if(not(A=10))For 循环 for I := 0 to NumBalls - 1 by 1...

2022-02-26 16:03:44 292

原创 halcon 连接相机采集图像

相机采集图像(以笔记本摄像头为例)执行“助手”——“打开新的Image Acquisition”:如果没连其他的相机,那么点击“自动检测接口”则会检测出“DirectShow”,此时点击“实时”图标就可以用笔记本摄像头实时采集图像了:然后点“插入代码”就可以看到采集图像的Halcon代码了:* Image Acquisition 01: Code generated by Image Acquisition 01open_framegrabber ('DirectSho

2022-02-24 14:16:56 6654 4

转载 Halcon读取文件目录图像的三种方法

第一种方法:读了一个单一图像:read_image(Image,'fabrik')这种方式可以快速的读取软件自身携带的库图像文件,系统设定了库图像映像文件的快速读取方式,我们也可以通过绝对地址的方式来读取指定的目录文件:read_image(Image1,'E:/Halcon一日一练/参考资料/images/图片1.jpg')图像设定的映像文件目录可以进行关闭,set_system函数可以对映像文件目录进行关闭,关闭之后必须读取图像的绝对地址,否则,系统将会报错,set_system

2022-02-24 13:29:55 2960

转载 c# 委托 delegate及使用代理的作用意义

关于委托写得最清楚明白的一篇文章,强烈推荐

2021-12-29 10:33:25 1028

转载 c# 中的Delegate与Action(界面多线程应用)

很多C#初学者,都遇到过这样的问题,今天就这个问题,进行分析。根源先说下这个问题产生的根源,大家都知道,程序运行起来之后,首先会有一个主线程,主线程用于处理控件生成、界面渲染、事件响应等操作,因此我们可以理解为窗体里的控件是属于主线程的。如果我们想实现与主线程同时执行另一件事,一般会去使用多线程,因此多线程,从某种意义上来说,它和主线程的身份是平等的,就像你和你的同事的关系一样,你们是平级的关系。如果你同事有一天想从你手上把你的项目程序拿过去,你愿不愿意?所以,如果在多线程里操作主线程的

2021-12-28 16:24:40 3497 2

原创 WCF简单实例详解

xfserver:是一个类库项目,定义服务契约(Service Contract),提供对WCF服务的实现。定义在该项目中的所有WCF服务实现了定义在Contracts中相应的服务契约,该项目引用System.ServiceMode程序集; WCF采用基于契约的交互方式实现了服务的自治,以及客户端和服务端之间的松耦合。WCF包含四种类型的契约:服务契约、数据契约、消息契约和错误契约,这里着重于服务契约。从功能上讲,服务契约抽象了服务提供的所有操作;而站在消息交换的角度来看,服务契约则定义了基于服务调..

2021-12-20 14:00:52 980

原创 手把手wcf简单实例

WCF是微软为构建面向服务的应用程序所提供的统一编程模型。下面通过一个简单的服务示例来认识WCF1.新建项目,名称 XfServer,解决方案名称 XfStudy,模板选择类库,选择.NET Framework版本2.修改Class1.cs文件名称为 IFirstService.cs3.添加引用 System.ServiceModel4.修改IFirstService.cs代码如下:using System;using System.Collections.Generic;usin.

2021-12-20 12:58:56 545

原创 c++ 布尔运算

bool b=true;bool b2=-b;那么b2 是true?还是false?对于大多数运算符来说,布尔类型的运算对象将被提升为int类型,如上所示,布尔变量b的值为真,参与运算时将被提升为整数值1,对它求负后的结果时-1,显然-1不等于0,所以b2的值为真。...

2021-12-14 15:30:59 1678

原创 c++ vector初始化易混淆的地方

在某些情况下,初始化的真实含义依赖于传递初始值时用的是花括号还是圆括号,例如,用一个整数来初始化vector<int>时,整数的含义可能是vector对象的容量也可能是元素的值。类似的,用两个整数来初使化vector<int>时,这两个整数可能一个是vector对象的容量,另一个是元素的初值,也可能它们是容量为2的vector对象中两个元素的初值。通过使用花括号或圆括号可以区分上述这些含义:vector<int>v1(10);//(圆括号) v1有10个元素,每个的值

2021-12-14 11:14:38 571

原创 指向指针的指针

int main() { int ival = 42; int* p = &ival; int** pp = &p; cout << p << endl; //指针值(地址) cout << *p << endl; //指针指向的内容值 cout << pp << endl; //指针值(地址) cout << *pp << endl;//...

2021-12-13 14:44:45 699

原创 c++11 中的原始字面量

原始字面量就是不进行转义的完整字符串。原始字符串字面量的定义为:R “xxx(raw string)xxx”原始字符串必须用括号()括起来,括号的前后可以加其他字符串,所加的字符串会被忽略,并且加的字符串必须在括号两边同时出现。int main(){ string str=R"xxx(c\n\n)xxx"; cout << str << endl; system("pause"); return 0;}去掉R 后int m...

2021-12-10 11:17:12 593

原创 c++字符数组的定义及初始化

定义时进行初始化:char ch[20]="cpp"; //okcout << ch << endl;仅定义不初始化char ch[20];ch = "cpp";//出现”表达式必须是可修改的左值“的错误提醒,编译报错“不可指定数据类型”。可以使用strcpy(ch, "cpp"); 进行赋值也可以单个字符赋值char ch[20];ch[0] = 'c';ch[1] = 'p';ch[2] = 'p';ch[3] = '...

2021-12-10 10:35:16 1136

原创 c++中字符数组和string类型的相互转换

字符数组转化成string类型charch[]="china";stringstr(ch);//等效 stringstr=ch;或者charch[]="china";stringstr;str=ch;string类型转换为字符数组 char ch[20];string str = "china";strcpy_s(ch, str.c_str());string str2(ch);cout << str2 <<...

2021-12-10 10:17:05 2862

转载 C++ const 和 constexpr 的区别

对于修饰Object来说,const并未区分出编译期常量和运行期常量constexpr限定在了编译期常量然后我想对修饰函数多说两句,那就是constexpr修饰的函数,返回值不一定是编译期常量。#It is not a bug, it is a feature.#constexpr int foo(int i){ return i + 5;}int main(){ int i = 10; std::array<int, foo(5)> arr; /...

2021-12-09 09:57:27 117

原创 c++交换函数 的三种传值方式的异同

函数1:void swap(int a, int b){ int c; c = a; a = b; b = c;}这种方式为值传递,函数内拷贝值,并不能进行交换!!!!!!函数2:void swap(int *a,int *b){ int c; c = *a; *a = *b; *b = c;}指针传递,调用的时候需要把参数的地址传进去:int x =10,y = 20;swap(&x,&y)...

2021-12-07 14:43:53 108

原创 c++ 指针类型的引用

通常理解为引用就是类型前面加个&符号例如int i=2;int &a=i;如果时指针类型的引用让人看起来就很困惑了,int a = 3;//定义变量a;int* p = &a; //等效于 int *p=&a;int* &q = p; //等效于int *&q = p;由于c++ 中对* 号和& 号,是靠近类型侧还是变量名侧并没有要求,所以写法可以有多种,理解起来很困惑,甚至有写出 int & *...

2021-12-07 14:27:13 1400

原创 c++中引用一经定义不能更改转而引用其他变量的理解

c++中对引用的定义和说明:引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量,对引用的操作与对变量直接操作完全一样。定义格式为:类型 &引用变量名 = 已定义过的变量名。引用的特点:  ①一个变量可取多个别名。  ②引用必须初始化,只有别名是不能成立的。(如果不初始化,编译器出错警告)  ③引用只能在初始化的时候引用一次 ,不能更改为转而引用其他变量。如下示例:#include <

2021-12-07 13:14:37 2849 1

转载 指针的指针和指针的引用

为什么需要使用它们当我们把一个指针做为参数传一个方法时,其实是把指针的复本传递给了方法,也可以说传递指针是指针的值传递。如果我们在方法内部修改指针会出现问题,在方法里做修改只是修改的指针的copy而不是指针本身,原来的指针还保留着原来的值。我们用下边的代码说明一下问题:

2021-12-07 09:35:51 414

原创 获取exe可执行文件的绝对路径方法(Qt)

GetModuleFileName函数的应用char exeFullPath[MAX_PATH]; // //用于存放获取的路径信息 string strPath = ""; GetModuleFileName(NULL,exeFullPath,MAX_PATH);//第一个参数为句柄,NULL则指向当前程序。第二个参数用于存放地址的指针,第三个参数,系统自带的宏定义 strPath=(string)exeFullPath; // 路径赋给字符串str int p...

2021-10-20 13:38:02 884

原创 QT tcp服务器及客户端 传输图片及显示

上一节里我们使用TCP服务器和客户端相互发送字符串信息,本节间学习图片的传输及显示。一、服务器端程序开始进行监听,一旦发现有连接请求就发出newConnection()信号,然后我们便接受连接,可以接收数据。步骤1.新建QtGui应用名称为tcpServer,基类选择QWidget,类名为Widget,完成后打开tcpReceiver.pro添加一行代码:QT += network 。步骤2.我们更改widget.ui文件,设计界面如下。其中“服务器端”Label的objectN..

2021-07-26 14:54:14 6930 4

原创 QT tcp 简单服务端和客户端传输字符串(QDataStream 序列化)

一、服务器端 在服务器端的程序中,我们绑定本地主机的一个端口,例如这里使用6666。步骤1:新建QtGui应用项目名为tcpServer,基类选择QWidget,类名为Widget。完成后打开项目文件tcpServer.pro并添加一行代码:QT += network ,然后保存该文件(ctrl+s)。步骤2:在widget.ui的设计区添加一个Label,更改其显示文本为“等待连接”,然后更改其objectName为statuslab,用于显示客户端是否连接。步骤3:在widget....

2021-07-24 17:31:21 1881

原创 类和继承(c++primer plus 学习笔记13章)

1.派生类和基类是一种is-a的关系,即派生类对象也是一个基类对象,可以对基类对象执行任何操作。2.多态:同一个方法(c++中称为函数)在派生类和基类中的行为方式是不同的

2021-06-21 11:04:33 125

原创 Qt学习之路学习笔记3

1,文件对方框创建 file对象,选择打开方式,打开后传递给QTextStream,读取,赋给QText显示,关闭文件。(QTextStream::readAll()直接读取文件所有内容,如果这个文件有 100M,程序会立刻死掉)实际应用中,分段读入怎么处理?2、事件中的继承自QLabel 的鼠标事件label->setMouseTracking(true); 设置后才能允许就跟踪,否则需要点击一次,才跟踪。为什么要点击鼠标之后才能在 mouseMoveEvent()函数中显示鼠标坐标值?这.

2021-06-21 09:02:36 89

原创 C++ 指针的理解

1:指针是一个变量,其存储的是值的地址,而不是值本身。(假设int 变量 i 的地址是 10000,值是12。定义一个int指针p,p表示一个地址,p=&i。p内存储的是10000,*p 就是p指向的这块内存的值是12)*p和i是等效的 *p+1得到的值就是13,和i+1的效果等效。p+1和*p+1 完全不一样,p+1 是地址加一,会指向另外一块内存,*p+1 则是i的值加1。2:int 指针定义 int *p1,p2,p3; 和int* p1,p2,p3;的效果是一样的,它定义了一...

2021-06-13 14:33:48 298

原创 使用mysqldump 数据自动备份

rem *******************************Code Start*****************************@echo offD:\db_backup\mysqldump --opt --user=root --password=makerwit makerwit wareinformation_2 wareinformation_3>D:\db_backup\cz.sql@echo onrem ***************************..

2021-06-03 20:31:44 181

原创 Qt学习之路学习笔记2

1、对方框(模态对话框和非模态对话框)void MainWindow::open(){ QDialog *dialog = new QDialog; dialog->setWindowTitle(tr("Hello, dialog!")); dialog->show();}这样在堆上建立的对方框,如果多次点击会生成多个相同的对方框,如何保证只有一个呢???在头文件把 定义为QDialog dialogvoid MainWindow::open...

2021-05-21 17:50:38 104

原创 Qt学习之路学习笔记1

Qt学习之路的学习要点1.堆和栈的区别2.智能指针(QScopedPointer)3.设计模式4.信号槽中main函数使用connect,去掉QObject出现的错误及解析(QT程序中的事件机制是通过SIGNAL-SLOT(信号-槽)来实现的,创建一个信号与槽的连接就是使用connect方法,它是QObject类下面的一个静态方法,基本上,所有的QT对象的基类都是QObject,所以,在非QObject的派生类下面使用connect方法需要指定QObject类,即使用QObject::con

2021-05-21 15:19:44 143

Xfstudy.zip

wcf简单实例

2021-12-20

server&client.rar

QT tcp服务器及客户端传输图片及文件

2021-07-26

nettest.rar

QT 制作的简单tcp服务器及客户端,通过QDataStream序列化传输,可以在服务器及客户端之间进行简单通讯

2021-07-24

空空如也

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

TA关注的人

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