自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

原创 Python-OpenCV 寻找两条曲线直接的最短距离

import numpy as npimport mathimport cv2def cal_pt_distance(pt1, pt2): dist = math.sqrt(pow(pt1[0]-pt2[0],2) + pow(pt1[1]-pt2[1],2)) return distfont = cv2.FONT_HERSHEY_SIMPLEXimg = cv2.imread('01.png')#cv2.imshow('src',img)gray = cv2.cvtColor(i

2021-08-25 20:30:43 2013

原创 C#--线程的基本操作

文章目录创建线程线程休眠线程的挂起与恢复终止线程线程的优先级创建线程在C#中创建线程时,首先需要创建一个ThreadStart委托实例,再以这个ThreadStart委托作为为参数,来构造Thread实例。注意:Thread类拥有四种重载的构造函数,常用的一个函数接收一个ThreadStart类型的参数,而ThreadStart是一个委托,其语法格式如下:public delegate void ThreadStart()线程休眠线程的休眠是通过Thread类的Sleep方法实现的,而Thre

2021-08-17 16:43:02 1155 1

原创 C#--进程与线程

文章目录进程的概念线程的概念Thread类进程的概念进程进程是程序在计算机上的一次执行活动。运行一个程序就相当于启动一个进程。Windows系统利用进程把工作划分为多个独立的区域,每个应用程序实例对应一个进程。进程是操作系统分配和使用系统资源的基本单位。进程包含一个正在运行时,应用程序的所有资源。每个进程所占用的资源都是相互独立。进程资源包括:(1)一个进程堆;(2)一个或多个线程;(3)一个虚拟地址空间,该空间独立于其他进程的地址空间;(4)一个或多个代码段,包括.dll中的代码;(5

2021-08-17 15:40:49 452

原创 C#--集合(动态数组、堆栈、队列、哈希表)

文章目录认识集合动态数组(ArrayList类)堆栈(Stack类)Queue类Hashtable类认识集合什么是集合呢?集合就如同数组,用来存储和管理一组具有相同性质的对象,除了基本的数据处理功能,集合直接提供了各种数据结构及算法的实现,如队列、链表、排序等,可以让用户轻易地完成复杂的数据操作。集合也是一个特殊的类,好比容器一样将一系列相似的项组合在一起,集合中包含的对象称为集合元素。集合类的概念集合(Collection)类是专门用于数据存储和检索的类。这些类提供了堆栈(stack)、队列(

2021-08-14 11:27:15 1142 1

原创 Python+OpenCV 图像窗口大小控制

import cv2o = cv2.imread('10.bmp')#cv2.imshow("original",o)gray = cv2.cvtColor(o,cv2.COLOR_BGR2GRAY)cv2.namedWindow("result", 0)cv2.resizeWindow("result", 400, 300) #设置窗口大小cv2.imshow("result",gray)cv2.imwrite("gray.bmp",gray)cv2.waitKey()cv2.destr

2021-08-13 08:34:20 6512

原创 C#联合halcon--通过引用halcon程序导出的C#代码,进行引用和二次封装调用

文章目录第一步:halcon程序第二步 导出C#程序第三步 二次封装01. 打开VS软件,新建类库TestValue;02 整理输入参数、输出参数、检测方法,继续对此类封装,程序如下:第四步 : 新建winform工程01 右击解决方案TestValue,“添加”-》“新建项目”,选择“WIndows窗体应用-Value”;![在这里插入图片描述](https://img-blog.csdnimg.cn/f7a34917159d4365b5cd4de531490fe2.png?x-oss-process=

2021-08-10 09:34:55 5448 4

原创 C#联合halcon--导出库工程

创建一个新函数 mytest导出库工程

2021-08-09 20:08:02 768

原创 2021-08-09C#联合halcon--画圆画矩形

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using HalconDotNet;namespace exercise01

2021-08-09 19:43:53 1955

原创 C#联合halcon--读取和显示图像

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using HalconDotNet;namespace exercise01

2021-08-09 19:28:43 1581

原创 C#联合halcon--保存数据

//保存数据 int len = hv_Area.Length; HTuple[] InnerCircleRow = new HTuple[len]; HTuple[] InnerCircleColumn = new HTuple[len]; HTuple[] InnerCircleRadius = new HTuple[len]; HTuple[] max_rin...

2021-08-09 13:57:32 1416 1

原创 Halcon软件安装教程

1、halcon介绍HALCON是德国MVtec公司开发的一套完善的标准的机器视觉算法包,拥有应用广泛的机器视觉集成开发环境。它节约了产品成本,缩短了软件开发周期——HALCON灵活的架构便于机器视觉,医学图像和图像分析应用的快速开发。在欧洲以及日本的工业界已经是公认具有最佳效能的Machine Vision软件。2、halcon资源链接:https://pan.baidu.com/s/1s3GEgx7JXuocwWUfgKvOLg提取码:hsy53、安装halcon-18.11.1.0-win

2021-08-09 10:14:34 1417

原创 C#TCP通讯(Sockets类实现)

文章目录TCPClientTCPserver最终效果TCPClientusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;u

2021-08-08 10:13:22 2551 1

原创 C#串口通讯详解(SerialPort类实现)

最终效果窗体设置:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.IO.Ports;using System.Threading;using Syst

2021-08-08 10:03:22 3307 2

原创 C#--正则表达式

文章目录正则表达式简介正则表达式的组成正则表达式的优先级正则表达式匹配规则字符匹配中括号表达式重复匹配替换和分组正则表达式涉及的基本类Regex类Match类正则表达式简介正则表达式提供了功能强大、灵活而又高效的方法来处理文本。正则表达式的全面模式匹配表示法可以快速地分析大量的文本以找到特定的字符模式;提取、编辑、替换或删除文本字符串;或将提取的字符串添加到集合以生成报告。对于处理字符串(例如HTML处理、日志文件分析和HTTP标头分析)的许多应用程序而言,正则表达式是不可缺少的工具。正则表达式的组成

2021-08-07 13:03:06 3956

原创 C#--String Build类的使用

文章目录String Build类的使用StringBuilder类的定义设置StringBuilder类的容量追加操作插入操作删除操作替换操作String Build类的使用StringBuilder类的定义StringBuilder类位于命名空间System.Text中,使用时,可以在文件头通过using语句引入该空间:using System.Text;声明StringBuilder对象需要使用new关键字,并可以对其进行初始化。例如:StringBuilder strBuilder =

2021-08-07 12:32:33 1163

原创 C#-字符串常用操作

文章目录字符串简介字符串的操作字符串的大小写转换字符串的比较字符串的格式化字符串的截取字符串的分割字符串的合并字符串的插入与填充字符串的删除字符串的修剪字符串的复制字符串的替换字符串的查找String Build类的使用StringBuilder类的定义设置StringBuilder类的容量追加操作插入操作删除操作替换操作字符串简介字符串是由零个或多个字符组成的有限序列,是几乎所有编程语言中可以实现的非常重要和有用的数据类型。字符串是“System. String”类的一个引用类型,但与其他引用类型不

2021-08-07 11:46:18 1897

原创 VS2017错误- 对象引用对于非静态的字段、方法或属性“Program.Method(int)”是必需的 test1

文章目录解决方法1:解决方法2:严重性 代码 说明 项目 文件 行 禁止显示状态错误 CS0120 对象引用对于非静态的字段、方法或属性“Program.Method(int)”是必需的 test1 G:\SoftwareLearning\C#resource\chapter05\test1\test1\Program.cs 19 活动的原程序using System;using System.Collections.Generic;using System.Linq;using System

2021-08-07 08:35:33 4073

原创 C#与Halcon联合编程--保存图像数据(半径、横纵坐标)

生成C#程序。选择菜单栏【文件】→【导出】,弹出导出界面,选择导出文件类型“C#”,确定新建项目。选择CPU类型。选择菜单栏中的【项目】→【属性】,弹出配置界面,选择【生成】,CPU类型根据自己的电脑类型选择。添加控件加入命名空间 using HalconDotNet...

2021-08-06 17:29:16 1578

原创 C#联合halcon图像处理--从文件夹中读取图像并处理

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using HalconDotNet;namespace readimage{

2021-08-06 14:59:47 1226

原创 C#中调用封装好的.dll文件(已解决)

复制之前封装好的.dll文件,粘贴到你想调用的工程下面,一般就是你工程的debug/release文件夹下面,然后再在代码中,解决方案管理器中下面的右击——“引用”——“添加引用”——“浏览”——找到你刚才粘贴到的路径,选择dll,确定。新建一个测试窗体程序,等会封装并调用1、新建-项目-类库;2、创建一个.cs文件 写入代码,例如:建立一个WindowsTestApp02窗体;注意:窗口的名字属性记得更改,比如默认的Form1改成Test02using System;using System.

2021-08-06 10:22:46 861

原创 C#-Windows计算器

文章目录系统功能描述系统功能分析及实现(1)主窗体Form1.cs文件中的代码(2)主窗体Form2.cs文件中的代码Program.cs系统功能描述Windows计算器是利用C#程序设计编写一个简易计算器程序,可以进行简单的加、减、乘、除运算,还可以实现对三角函数,对数、指数等高级运算的功能。整个系统的功能结构图如图所示:根据功能结构图,用户可以在窗体应用程序中,添加计算器窗体,建立windows应用程序的框架。因此,通过添加两个窗体控件Form1和Form2,分别用来表示科学计算器和普通计算器

2021-08-06 08:54:29 2424 3

原创 C#面向对象编程-类和对象(匿名方法与lambda表达式)

文章目录匿名方法Lambda表达式匿名方法C#为委托提供一种机制,可以为委托定义匿名方法,匿名方法没有名称,编译器会定指定一个名称,匿名方法中不能使用跳转语句跳转到该匿名方法的外部,也不能跳转到该方法的内部。也不能在匿名方法外部使用的ref和out参数。注意:通过使用匿名方法,可以不必创建单独的方法,因此减少了实例化委托所需的编码系统开销。编写匿名方法的语法匿名方法是通过使用delegate关键字创建委托实例来声明的。编写程序,通过匿名方法实现加法和乘法运算。using System;/

2021-08-05 09:04:37 294

原创 C#面向对象编程-类和对象(委托与事件)

文章目录委托事件委托从数据结构来讲,委托是和类一样,是一种用户自定义类型。委托是方法的抽象,它存储的就是一系列具有相同签名和返回类型的方法的地址。调用委托的时候,委托包含的所有方法将被执行。所有的委托都派生自System.Delegate类。声明委托委托是类型,就好像类也是类型一样。委托的实例化一旦声明了委托类型,委托对象必须使用new关键字来创建,且与一个特定的方法有关。当创建委托时,传递到new语句的参数就像方法调用一样书写,但是不带有参数。编写程序,实现MrLi委托MrZhang去帮忙

2021-08-05 08:57:41 409

原创 C#面向对象编程-类和对象(抽象类和密封类)

文章目录抽象类和抽象方法抽象类与接口的区别密封类和密封方法抽象类和抽象方法如果一个类不与具体的事物相联系,而只是表达一种抽象的概念,仅仅是作为其派生类的一个基类,这样的类就是抽象类,在抽象类中声明方法时,如果加上abstract时就是抽象方法抽象类的概述及声明抽象类与非抽象类的主要区别:(1)抽象类不能直接被实例化。(2)抽象类中可以包含抽象成员,但非抽象类中不可以。(3)抽象类不能被密封。抽象方法的概述及声明在抽象类中也可以使用关键字absract定义抽象方法,要求所有派生的非抽象类都要重载实

2021-08-05 08:39:22 743

原创 C#面向对象编程-类和对象(接口)

文章目录接口接口的声明接口的实现接口的继承接口接口描述的是可属于任何类或结构的一组相关功能,所以实现接口的类或结构必须实现接口定义中指定的接口成员。接口使用interface关键字进行定义,可由方法、属性、事件、索引器或这四种成员类型的任意组合构成。接口的声明接口的声明格式:修饰符 interface 接口名称{//成员;}使用接口时,需要注意以下几点:(1) 接口中只能声明方法不能定义,也就是说声明的方法不能有方法体。(2) 接口不能包含常量、字段、运算符、实例构造函数、析构函数或类

2021-08-04 17:59:19 698

原创 C#面向对象编程-类和对象(多态)

文章目录通过继承实现的不同对象调用相同的方法,表现出不同的行为,称之为多态。C#中的每种类型都是多态的。当派生类从基类继承时,它会获得基类的所有方法、字段、属性和事件。面向对象的语言使用虚方法表达多态。众所周知,猫(Cat)、狗(Dog)、老鼠(Mouse)都是属于动物,用户可以根据这三者的共有特性提取出动物类(Animal)作为父类。猫喜欢吃鱼、狗喜欢啃骨头、老鼠喜欢吃粮食,这样用户就可以添加一个吃的方法。编写程序,表现出一个动物类吃方法的多种形态using System;namespace P

2021-08-04 17:39:05 454

原创 C#面向对象编程-类和对象(类的封装)

文章目录类的封装public公开的private私有的protected受保护的internal内部访问类的封装封装是实现面向对象程序设计的第一步,封装就是将数据或方法等集合在一个个的单元中。被封装的对象通常被称为抽象数据类型。抽象和封装都是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象。C#封装根据具体的需要,设置使用者的访问权限,并通过访问修饰符来实现。一个访问修饰符定义了一个类成员的范围和可见性。public公开的public允许一个类将其成员变量和成员函

2021-08-04 17:34:06 582

原创 C#面向对象编程-类和对象(类的继承)

文章目录面对对象概述类的继承基类和派生类继承的特性调用基类的构造函数面对对象概述对象是现实世界中的实体,它有三个基本要素分别为封装、继承和多态。而类则是将具有相似属性和方法的对象集合起来。在学习C#的类之前,读者需要区分面向对象和面向过程这两种重要的思想。面向过程面向过程是分析解决问题的步骤,然后用函数把这些步骤一步一步的实现,接着在使用时一一调用即可。面向对象面向对象是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某个事物在解决整个问题的过程中所发生

2021-08-04 17:19:26 596

原创 C#面向对象编程-类和对象(3)

文章目录方法的使用类与对象构造函数与析构函数的使用构造函数析构函数虚方法的使用方法的重载结构体与类的区别方法的使用类与对象构造函数与析构函数的使用构造函数类的构造函数是类的一个特殊的成员函数,当创建类的新对象时就会执行构造函数。构造函数的作用是帮助用户初始化对象(给对象的每个属性依次赋值),并且构造函数的名称与类的名称完全相同,它没有任何返回类型。默认的构造函数是没有任何参数。要想使程序看起来更加简洁,可以为构造函数设置参数。这种技术可以帮助用户在创建对象的同时给对象赋初始值。析构函数虚方法

2021-08-04 13:41:05 336

原创 Python错误:AttributeError: module ‘cv2‘ has no attribute ‘findChessboardCornersSB‘

设置函数中的参数ret, corners = cv2.findChessboardCorners(gray, pattern_size, None)import cv2img_src = cv2.imread('162804194.jpg')gray = cv2.cvtColor(img_src, cv2.COLOR_BGR2GRAY)# 查找棋盘格 角点criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 15, .

2021-08-04 10:00:39 857

原创 C#面向对象编程-类和对象(2)

文章目录方法的使用7.1.2 C#中调用方法7.1.2 传递参数7.1.3 方法的分类7.1.3 外部方法7.1.3 Main方法类与对象类的定义类的实例化类的成员字段的使用属性分部类与方法构造函数与析构函数的使用虚方法的使用方法的重载结构体与类的区别方法的使用7.1.2 C#中调用方法7.1.2 传递参数7.1.3 方法的分类7.1.3 外部方法7.1.3 Main方法类与对象类的定义类是一种数据结构,可以包含数据成员(常域和字段)、函数成员(方法、属

2021-08-03 23:02:22 303

原创 C#面向对象编程-类和对象

文章目录方法的使用类与对象、字段和属性是使用构造函数与析构函数的使用虚方法的使用方法的重载结构体与类的区别方法的使用类与对象、字段和属性是使用构造函数与析构函数的使用虚方法的使用方法的重载结构体与类的区别...

2021-08-03 15:11:47 415

原创 C#基本数据结构-数组

文章目录一维数组的声明和使用二维维数组的声明和使用特殊数组传递数组给函数参数数组对Array类的使用一维数组的声明和使用C#声明数组时,方括号[]必须跟在类型后面,而不是标识符后面。声明一维数组C#数组的大小不是其类型的一部分,而在C语言中却是数组类型的一部分。初始化一维数组声明一个数组不会在内存中初始化数组。当初始化数组变量时,用户可以赋值给数组。数组是一个引用类型,所以C#数组的初始化方式有一下两种:(1) 第一种是在声明数组的时候为数组的元素赋初值。(2) 另一种方式需要在声明数组时

2021-08-03 13:28:56 3255

原创 C#程序流程控制(3)

文章目录嵌套循环语句跳转语句break跳转语句continue跳转语句return跳转语句goto语句嵌套循环语句嵌套循环语句,是指一个循环结构的循环体内又包含另一个完整的循环结构。内嵌的循环中还可以嵌套循环,这样就构成了多层嵌套循环。C#中嵌套for循环语句C#中嵌套while循环语句C#中嵌套do…while循环语句using System;namespace Project12{ class Program { static void Main(st

2021-08-03 08:57:25 379

原创 C#程序流程控制(2)

文章目录循环语句while循环语句do…while循环语句for循环语句foreach循环语句循环语句while循环语句while循环是先判断表达式的值,然后再执行语句或语句块,直到表达式的值为false。如果循环刚开始表达式的值就为false,那么语句或语句块就不会被执行。using System;namespace Project8{ class Program { static void Main(string[] args) {

2021-08-02 15:34:03 139

原创 C#程序流程控制(1)

文章目录顺序语句分支选择语句if条件语句switch语句循环语句嵌套循环语句跳转语句其他语句顺序语句顺序结构是程序代码中最基本的结构,是指程序中的所有语句都是按书写顺序逐一执行的,代码从main()函数开始运行,从上到下,一行一行地执行,不漏掉代码。分支选择语句if条件语句一个if语句的条件可以是布尔变量,也可以是表达式,但如果是表达式,则得到的结果必须是布尔值。单选择if语句使用if语句,判断一个变量是否符合条件。if…else语句使用if…else语句,判断一个变量的大小。if…e

2021-08-02 15:21:50 356

原创 C#特殊运算符

文章目录特殊运算符特殊运算符using System;namespace Project16{ class Program { static void Main(string[] args) { Console.WriteLine("char 类型的对象:{0}", typeof(char)); Console.WriteLine("int 类型的对象:{0}", typeof(int

2021-08-02 14:59:09 301

原创 C#数据类型和运算符(2)

文章目录熟悉C#的数据类型掌握C#的数据类型转换隐式转换显式转换使用Convert进行任意类型转换数值和字符串之间的转换Convert.ToInt32()、(int)与int.Parse()的区别熟悉其他常用类型掌握C#的运算符全局唯一标识符(GUID)统一资源标识符(URI)熟悉C#的数据类型掌握C#的数据类型转换隐式转换显式转换使用Convert进行任意类型转换数值和字符串之间的转换Convert.ToInt32()、(int)与int.Parse()的区别熟悉其他常用类型在C#中Da

2021-08-02 14:41:11 165

原创 C#数据类型和运算符(1)

文章目录熟悉C#的数据类型。掌握C#的数据类型转换。隐式转换显式转换使用Convert进行任意类型转换数值和字符串之间的转换Convert.ToInt32()、(int)与int.Parse()的区别熟悉其他常用类型。掌握C#的运算符。熟悉C#的数据类型。在C#中有两种基本类型,它们分别是值类型和引用类型。而值类型还可以细分为内置值类型、结构和枚举;引用类型可以细分为类类型、接口以及委托等。值类型内置的值类型就是整型、浮点型和bool类型等,而结构是一种特殊的值类型,它是抽象类型System.Va

2021-08-02 14:22:19 384

原创 C#中变量的类型

文章目录值类型引用类型值类型与引用类型的区别枚举类型变量的作用域值类型C#中值类型的变量主要包括整数类型、浮点类型、decimal和bool类型等。值类型的变量都在堆栈中进行分配,因此效率很高。所以使用值类型的主要目的是为了提高性能。整数类型整数类型代表的就是一个整数。当用户声明一个int类型时,系统就会分配内存来存储值。浮点类型浮点类型的变量主要是对带有小数点的数据进行处理。decimal类型decimal关键字指示128位数据类型。与其他浮点型相比,decimal类型具有更高的精度和更

2021-08-02 13:46:43 2120

C# 调用外部DLL中的方法

C# 调用外部DLL中的方法

2022-02-24

C# 自定义用户控件(PictureBox)

C# 自定义用户控件(PictureBox)

2022-02-24

空空如也

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

TA关注的人

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