自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

图像学习之旅

学习图像处理

  • 博客(50)
  • 资源 (5)
  • 收藏
  • 关注

原创 Leetcode(2题,C++)

题目链接:https://leetcode-cn.com/problems/add-two-numbers/我的代码:

2021-02-24 23:04:16 177

原创 学习数据结构(九)——图

0.图的定义图是由顶点集合和顶点关系集合组成的一种数据结构:,其中,顶点集合V是有穷非空集合,其包含数据元素;E是边的有穷集合,Path(x,y)表示从顶点x到顶点y的一条单向通路,通路有方向,图包括有向图和无向图。...

2021-02-23 23:06:34 223

原创 leetcode算法题(1题,C++)

1.第一题——两数之和给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值的那两个整数,并返回它们的数组下标。

2021-02-22 23:38:05 146

原创 学习数据结构(八)——树

0.树的定义树是n个结点的有限集,有且只有一个特定的称为根的结点,当时,其余结点可分为m个互不相交的有限集,其中集合本身又是一棵树,并且称为树的子树。树的根结点没有前驱结点,除了根结点外的所有结点有且只有一个前驱结点,树中的所有结点可以有零个或多个后驱结点。树中的结点包含一个数据元素和若干指向其子树的分支,结点拥有的子树数目称为结点的度,度为0的结点称为叶子或终端结点,度不为0的结点称为非终端结点或分支结点,树中结点的最大层次称为树的深度,叶子结点高度为1,非叶子结点的高度等于子女结点高度加1,树的高度

2021-02-12 16:09:31 648

原创 学习机器学习——神经网络

0.神经网络是干嘛的?神经网络作为一种非线性的网络模型怼非线性科学进行研究,是一种模仿人类神经网络行为特征的分布式并行信息处理算法结构的动力学模型。它用于接收多路输入刺激,按加权求和超过一定阈值时产生“兴奋”输出,来模仿人类神经元的工作方式,并通过这些神经元相互连接的结构和反映关联强度的权系数,使其具有各种复杂的信息处理能力。其不是由于元性能不断改进,而是通过复杂的互联关系得以实现。所有它是一种联接机制模型,具有复杂系统的许多重要特征。其实质反映了输入转化为输出的一种数学表达式,这种数学关系是...

2021-02-11 13:36:36 617 1

原创 学习数据结构(七)——串

1.什么叫串?字符串简称叫串。串是由0个、1个、多个字符组成的有限序列。串中任意一个连续的字符组成的子序列称为该串的子串。2.C++的串处理库其库函数名为<string>。(1)复制函数函数原型:char* strcpy(char *strDestinnation,const char* strSource);将Source复制到Destinnation。(2)...

2021-02-10 20:46:40 344

原创 学习数据结构(六)——广义表

1.什么叫广义表?一个广义表是n个表元素的一个序列,若n=0时称为空表。设为广义表的第i个元素,则广义表GL的一般表示与线性表相同:。其中,n表示广义表的长度,即广义表中所含元素的个数,且n0。如果是单个数据元素,则是广义表GL的原子;如果是一个广义表,则是广义表GL的子表。广义表具有如下属性:(1)有序性:广义表中的数据元素有相对次序。(2)有长度:广义表的长度定义为最外层包含元素个数。(3)有深度(4)可共享:一个广义表可以为其他广义表共享。(5)可递归:...

2021-02-09 22:47:26 2400

原创 C++调用汇编

1.C++代码嵌入汇编在C++里面嵌入汇编代码,可以使用关键字__asm{}。例如:#include<iostream>void math(int a, int &b){ int ans = a; __asm { mov ans,4 } b = ans;}void main(){ int a = 2; int b; math(a, b); std::cout << b;}输出结果为:2.cpp文件调用asm文件

2021-02-08 13:54:10 1222

原创 汇编语言(十)——条件判断指令

首先了解按位指令,这里使用的技术也可以用于操作硬件设备控制位,实现通信协议以及加密数据,操作 说明 AND 源操作数和目的操作数进行逻辑与操作 OR 源操作数和目的操作数进行逻辑或操作 XOR 源操作数和目的操作数进行逻辑异或操作 NOT 对目标操作数进行逻辑非操作 TEST 源操作数和目的操作数进行逻辑与操作,并适当地设置 CPU 标志位 布尔指令影响零标志位、进位标志位、符号标志位、溢出标志位和奇偶标志位。下面简单回顾一下这些标志位的.

2021-02-07 13:27:50 12509

原创 汇编语言(九)——链接库

0.链接器如果编程者花时间的话,就可以用汇编语言编写岀详细的输入输岀代码。就好比自己从头开始搭建汽车,然后可以驾车出行一样。这个工作很有趣但也很耗时。接下来我们来了解一下什么是链接库。链接库是一种文件,包含了已经汇编为机器代码的过程(子程序)。链接库开始时是一个或多个源文件,这些文件再被汇编为目标文件。目标文件插入到一个特殊格式文件,该文件由链接器工具识别。链接器工具把一个程序的目标文件与一个或多个目标文件以及链接库组合在一起。比如,下述命令就将 hello.obj 与 irvine32.lib 和

2021-02-07 13:06:14 638

原创 汇编语言(八)——过程

0.什么是过程如果大家已经学过了高级编程语言,那么就会知道将程序分割为子过程(subroutine)是多么有用。一个复杂的问题常常要分解为相互独立的任务,这样才易于被理解、实现以及有效地测试。在汇编语言中,通常用术语过程(procedure)来指代子程序。在其他语言中,子程序也被称为方法或函数。就面向对象编程而言,单个类中的函数或方法大致相当于封装在一个汇编语言模块中的过程和数据集合。汇编语言出现的时间远早于面向对象编程,因此它不具备面向对象编程中的形式化结构。汇编程序员必须在程序中实现自己的形式化结构

2021-02-07 12:58:32 1255

原创 汇编语言(七)——堆栈

0.什么是堆栈?堆栈数据结构(stack data structure)的原理与盘子堆栈相同:新值添加到栈顶,删除值也在栈顶移除。堆栈也被称为 LIFO 结构(后进先出,Last-In First-Out),,其原因是,最后进入堆栈的值也是第一个出堆栈的值。(数据结构就有讲)1.堆栈运行原理运行时堆栈是内存数组,CPU 用 ESP(扩展堆栈指针,extended stack pointer)寄存器对其进行直接管理,该寄存器被称为堆栈指针寄存器(stack pointer register)。32

2021-02-07 12:19:01 3190

原创 汇编语言(六)——操作数

0.前言x86 的指令格式为:[label:] mnemonic [operands][ ;comment ]指令包含的操作数个数可以是:0 个,1 个,2 个或 3 个。这里,为了清晰起见,省略掉标号和注释:mnemonicmnemonic [destination]mnemonic [destination] , [source]mnemonic [destination] , [source-1] , [source-2]操作数有 3 种基本类型: ...

2021-02-07 11:54:14 10355

原创 汇编语言(五)——64位编程

1.简单了解AMD 和 Intel 64 位处理器的出现增加了对 64 位编程的兴趣。MASM 支持 64 位代码,所有的 Visual Studio 2012 版本(最终版、高级版和专业版)以及桌面系统的 Visual Studio 2012 Express 都会同步安装 64 位版本的汇编器。与32 位版本不同之处如下所示:(1)2 位 AddTwoSum 程序中使用了下列三行代码,而 64 位版本中则没有:.386 .model flat,stdcall .stack 4096.

2021-02-06 22:44:15 1154

原创 汇编语言(四)——编程语法入门

0.第一个汇编程序汇编程序几乎提供了全部信息的语言。程序员可以看到正在发生的所有事情,甚至包括 CPU 中的寄存器和标志!但是,在拥有这种能力的同时,程序员必须负责处理数据表示的细节和指令的格式。程序员工作在一个具有大量详细信息的层次。现在以一个简单的汇编语言程序为例,来了解其工作过程。下面这个程序是执行两个数相加,并将结果保存在寄存器中的代码:(没运行起来).data ;此为数据区sum DWORD 0 ...

2021-02-06 22:36:07 1720

原创 VS如何写汇编语言

参考链接:https://blog.csdn.net/qq_28249373/article/details/83475107

2021-02-05 22:26:14 727

原创 外包网站

1.阿里云众包平台:一般是互联网外包居多,官网:https://zhongbao.aliyun.com/projects?typePid=&typeIndex=0&status=&statusIndex=0&pageSize=10&pageIndex=12.程序员客栈:官网:https://job.proginn.com/job/3.开源众包:官网:https://zb.oschina.net/projects/list.html4.猿急送:官网:http

2021-02-05 17:44:52 368

原创 UE4安装

0.UE4下载与注册安装EPIC Game;链接:https://www.unrealengine.com/zh-CN/download?install=true安装与注册略安装后启动界面如下:1.安装引擎根据UE4官方文档版本信息整理,仅供参考:根据自己的VS版本安装对应的引擎。...

2021-02-05 13:43:08 208

原创 UE4 or Unity?

1.UE4UE4是由全球顶级游戏EPIC公司虚幻引擎的最新版本,EPIC中国唯一授权机构GA游戏教育基地。UE4支持DirectX 11、物理引擎PhysX、APEX和NVIDIA 3D技术,以打造非常逼真的画面。UE4是一个面向虚拟现实游戏开发、主机平台游戏开发和DirectX 11个人电脑游戏开发的完整开发平台,提供了游戏开发者需要的大量的核心技术、数据生成工具和基础支持。登陆设备包括PC,主机,手机和掌机。(1)优点UE4作为后起之秀,UE4在虚拟现实游戏开发者界大出风头,其强大的开发能力

2021-02-04 22:59:00 939 1

原创 学习python(十八)——模块与包

1.模块Python提供了强大的模块支持,主要体现在,不仅 Python 标准库中包含了大量的模块(称为标准模块),还有大量的第三方模块,开发者自己也可以开发自定义模块。通过这些强大的模块可以极大地提高开发者的开发效率。那么,模块到底指的是什么呢?模块,英文为 Modules,至于模块到底是什么,可以用一句话总结:模块就是 Python程序。换句话说,任何 Python 程序都可以作为模块,包括在前面章节中写的所有 Python 程序,都可以作为模块。将 Python 代码写到一个文件中,但随着程序..

2021-02-04 20:33:09 140 1

原创 学习python(十七)——异常机制处理

0.编程错误编写程序时遇到的错误可大致分为 2 类,分别为语法错误和运行时错误。语法错误,也就是解析代码时出现的错误。当代码不符合 Python 语法规则时,Python解释器在解析时就会报出 SyntaxError 语法错误,与此同时还会明确指出最早探测到错误的语句。语法错误多是开发者疏忽导致的,属于真正意义上的错误,是解释器无法容忍的,因此,只有将程序中的所有语法错误全部纠正,程序才能执行。运行时错误,即程序在语法上都是正确的,但在运行时发生了错误。异常类型 含义 AssertionE

2021-02-04 20:06:07 158

原创 学习python(十六)——函数装饰器@

首先先来看一下这个代码:#funA 作为装饰器函数def funA(fn): #... fn() # 执行传入的fn参数 #... return '...'@funAdef funB(): #...实际上,上面程序完全等价于下面的程序:def funA(fn): #... fn() # 执行传入的fn参数 #... return '...'def funB(): #...funB = funA(f

2021-02-04 19:59:25 88

原创 学习python(十五)——迭代器与生成器

1.迭代器列式容器有一个共同的特性,它们都支持使用 for 循环遍历存储的元素,都是可迭代的,因此它们又有一个别称,即迭代器。从字面来理解,迭代器指的就是支持迭代的容器,更确切的说,是支持迭代的容器类对象,这里的容器可以是列表、元组等这些Python提供的基础容器,也可以是自定义的容器类对象,只要该容器支持迭代即可。如果要自定义实现一个迭代器,则类中必须实现如下 2 个方法:__next__(self):返回容器的下一个元素。 __iter__(self):该方法返回一个迭代器(itera..

2021-02-04 19:18:00 134

原创 学习python(十四)——类的特殊成员

1.__new__()方法__new__() 是一种负责创建类实例的静态方法,它无需使用 staticmethod 装饰器修饰,且该方法会优先 __init__() 初始化方法被调用。一般情况下,覆写 __new__() 的实现将会使用合适的参数调用其超类的 super().__new__(),并在返回之前修改实例。在 __init__() 不够用的时候使用 __new__() 。2.__repr__()方法通过重写类的 __repr__() 方法即可显示属性。默认情况下,__repr__(

2021-02-04 15:47:30 174

原创 学习python(十三)——枚举类

一些具有特殊含义的类,其实例化对象的个数往往是固定的,比如用一个类表示月份,则该类的实例对象最多有 12 个;再比如用一个类表示季节,则该类的实例化对象最多有 4 个。针对这种特殊的类,Python3.4 中新增加了 Enum 枚举类。也就是说,对于这些实例化对象个数固定的类,可以用枚举类来定义。如果想将一个类定义为枚举类,只需要令其继承自 enum 模块中的 Enum 类即可。例如:from enum import Enumclass Color(Enum): # 为序列值指定val.

2021-02-04 14:54:19 129

原创 学习python(十二)——继承

1.继承机制继承机制经常用于创建和现有类功能类似的新类,又或是新类只需要在现有类基础上添加一些成员(属性和方法),但又不想直接将现有类代码复制给新类。也就是说,通过使用继承这种机制,可以轻松实现类的重复使用。让 From 类继承 Shape 类,这样当 From 类对象调用 draw() 方法时,Python 解释器会先去 From 中找以 draw 为名的方法,如果找不到,它还会自动去 Shape 类中找。如此,我们只需在 From 类中添加计算面积的方法即可,示例代码如下:class Sh

2021-02-04 14:45:56 279

原创 学习python(十一)——类和对象

读者肯定听过Python中“一切皆对象”的说法,但可能并不了解它的具体含义,只是在学习的时候听说 Python 是面向对象的编程语言。面向对象编程是在面向过程编程的基础上发展来的,它比面向过程编程具有更强的灵活性和扩展性。面向对象编程是程序员发展的分水岭,很多初学者会因无法理解面向对象而放弃学习编程。类和对象是 Python 的重要特征,相比其它面向对象语言,Python 很容易就可以创建出一个类和对象。同时,Python 也支持面向对象的三大特征:封装、继承和多态。面向对象编程(Object-or..

2021-02-03 14:32:33 223 2

原创 C++的static关键字的作用

1.先来介绍它的第一条也是最重要的一条:隐藏。(static函数,static变量均可)当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。2.static的第二个作用是保持变量内容的持久。(static变量中的记忆功能和全局生存期)存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存储区:全局变量和static变量,只不过和全局变量比起来,static可以控制变量的可见范围,说到底static还是用来隐藏的。虽然这种

2021-02-03 14:25:13 561

原创 C++的this指针

即非静态成员函数实际上的形参个数比程序员写的多一个。多出来的参数就是所谓的“this指针”。这个“this指针”指向了成员函数作用的对象,在成员函数执行的过程中,正是通过“Ihis指针”才能找到对象所在的地址,因而也就能找到对象的所有非静态成员变量的地址。在 C++ 中,每一个对象都能通过this指针来访问自己的地址。this指针是所有成员函数的隐含参数。因此,在成员函数内部,它可以用来指向调用对象。友元函数没有this指针,因为友元不是类的成员。只有成员函数才有this指针。成员函数通过...

2021-02-03 14:19:11 137 5

原创 C++内联函数

引入内联函数的目的是为了解决程序中函数调用的效率问题,这么说吧,程序在编译器编译的时候,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体进行替换,而对于其他的函数,都是在运行时候才被替代。这其实就是个空间代价换时间的i节省。所以内联函数一般都是1-5行的小函数。在使用内联函数时要留神:1.在内联函数内不允许使用循环语句和开关语句; 2.内联函数的定义必须出现在内联函数第一次调用之前; 3.类结构中所在的类说明内部定义的函数是内联函数。优点: 当函数体比较小的时候, 内联该函数可以令目标代

2021-02-03 10:57:04 96

原创 学习python(十)——eval()和exec()函数

eval() 和 exec() 函数都属于Python的内置函数,由于这两个函数在功能和用法方面都有相似之处。eval() 和 exec() 函数的功能是相似的,都可以执行一个字符串形式的 Python 代码(代码以字符串的形式提供),相当于一个 Python 的解释器。二者不同之处在于,eval() 执行完要返回结果,而 exec() 执行完不返回结果。eval() 函数的语法格式为:eval(source, globals=None, locals=None, /);而 exec() 函数...

2021-02-03 10:50:58 404

原创 学习python(九)——闭包函数与lamba

1.闭包闭包,又称闭包函数或者闭合函数,其实和前面讲的嵌套函数类似,不同之处在于,闭包中外部函数返回的不是一个具体的值,而是一个函数。一般情况下,返回的函数会赋值给一个变量,这个变量可以在后面被继续执行调用。闭包比普通的函数多了一个 __closure__ 属性,该属性记录着自由变量的地址。当闭包被调用时,系统就会根据该地址找到对应的自由变量,完成整体的函数调用。使用闭包,可以让程序变得更简洁易读。例如:现在要写一个求幂函数def power(number): def powerm

2021-02-02 18:38:16 215

原创 C++的lamdba

lambda表达式 就是一个函数(匿名函数),也就是一个没有函数名的函数。为什么不需要函数名呢,因为我们直接(一次性的)用它,嵌入式用的它,不需要其他地方调用它。lambda表达式也叫闭包,闭就是封闭的意思,封闭就是其他地方都不调用它,包就是函数。lambda表达式 其实就是一个函数对象,他内部创建了一个重载()操作符的类。简单来说,Lambda函数也就是一个函数,它的语法定义如下:[capture](parameters) mutable ->return-type{stateme...

2021-02-02 18:11:46 165

原创 学习python(八)——函数

Python 还支持自定义函数,即将一段有规律的、可重复使用的代码定义成函数,从而达到一次编写、多次调用的目的。即允许我们将常用的代码以固定的格式封装(包装)成一个独立的模块,只要知道这个模块的名字就可以重复使用它,这个模块就叫做函数(Function)。其实,函数的本质就是一段有特定功能、可以重复使用的代码,这段代码已经被提前编写好了。直接通过起好的名字就可以调用这段代码。但需要注意的一点是,和其他编程语言中函数相同的是,Python 函数支持接收多个( ≥0 )参数,不同之处在于,Python 函数

2021-02-02 17:01:36 214

原创 学习python(七)——zip() 、reserved()、sorted()

1.zip() 函数zip() 函数是Python内置函数之一,它可以将多个序列(列表、元组、字典、集合、字符串以及 range() 区间构成的列表)“压缩”成一个 zip 对象。所谓“压缩”,其实就是将这些序列中对应位置的元素重新组合,生成一个个新的元组。和 Python 3.x 版本不同,Python 2.x 版本中的 zip() 函数会直接返回列表,而不是返回 zip 对象。但是,返回的列表或者 zip 对象,其包含的元素(都是元组)是相同的。zip() 函数的语法格式为:zip(iterab..

2021-02-02 16:42:18 2134

原创 学习python(六)——流程控制

0.前言(1)缩进执行第1条语句,然后是第2条、第3条……一直到最后一条语句,这称为顺序结构。Python是以缩进来标记代码块的,代码块一定要有缩进,没有缩进的不是代码块。另外,同一个代码块的缩进量要相同,缩进量不同的不属于同一个代码块。Python 要求代码块必须缩进,但是却没有要求缩进量,你可以缩进 n 个空格,也可以缩进 n 个 Tab 键的位置。但是从编程习惯的角度看,我建议缩进 1 个 Tab 键的位置,或者缩进 4 个空格;它们两者其实是等价的。Python 虽然不限制代码块的缩进量,.

2021-02-02 16:37:41 166

原创 学习python(五)——字符串操作

操作 示例 说明 补充 字符串拼接 strname = "str1" "str2" 在Python中拼接(连接)字符串很简单,可以直接将两个字符串紧挨着写在一起 这种写法只能拼接字符串常量 strname = str1 + str2 需要使用变量,就得借...

2021-02-02 16:20:22 194

原创 学习python(四)——列表(list)、元组(tuple)、字典(dict)和集合(set)

目录0.序列1.列表(list)(1)创建和删除列表(2)序列添加元素(3)列表删除元素(4)列表修改元素(5)列表查找元素2.元组3.字典(1)添加键值对(2)修改键值对(3)删除键值对(4)判断字典中是否存在指定键值对(5)keys()、values() 和 items() 方法4.集合(1)向 set 集合中添加元素(2)从set集合中删除元素0.序列所谓序列,指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,.

2021-02-02 15:51:16 745

原创 学习python(三)——基本运算

1.算术运算符算术运算符也即数学运算符,用来对数字进行数学运算,比如加减乘除。下表列出了Python支持所有基本算术运算符。运算符 说明 实例 结果 + 加 12+13 25 - 减 14-9 5 * 乘 8*9 72 / 除 9/2 4.5 // 整除(只保留商的部分) 9/4 2 % 取余(只保留余数部分) 9%4 1 ** 次...

2021-02-02 13:40:33 1565

原创 学习python(二)——input函数与print函数

1.input函数input() 是Python的内置函数,用于从控制台读取用户输入的内容。input() 函数总是以字符串的形式来处理用户输入的内容,所以用户输入的内容可以包含任何字符。input() 函数的用法为:str = input(tipmsg)str 表示一个字符串类型的变量,input 会将读取到的字符串放入 str 中。 tipmsg 表示提示信息,它会显示在控制台上,告诉用户应该输入什么样的内容;如果不写 tipmsg,就不会有任何提示信息。当按下回车键后 inpu..

2021-02-02 12:07:53 3399

tcpmaster v0.0.0.2.rar

完善了部分功能的最终版 基于QT自带的socket和clinet类,在VS平台下开发的上位机软件,如果有问题的话,可以自己重新建立一个工程将代码进行拷贝!!!!!

2019-12-27

tcpmaster V0.0.0.1.rar

基于QT自带的socket和clinet类,在VS平台下开发的上位机软件,如果有问题的话,可以自己重新建立一个工程将代码进行拷贝!!!!!

2019-12-24

MX Component 4.16S.txt

无需在意协议,可简单实现从计算机到PLC、运动控制器等通信处理的Active X控件、.NET控件库。使用MX Component后,串口通信和以太网通信的程序开发变的简单。

2019-08-30

深入浅出Visual C++动态链接库(DLL)编程(pdf版+word版+全部源码).rar

用C++语言讲述如果开发dll,讲通每个人,真的好用!!!!!!!!!!!!!!

2019-07-17

数控玻璃雕刻机上Mark点视觉定位系统的设计与实现.pdf

mark点标定的相关论文,该算法能有效提高标定效率。真的

2019-07-17

空空如也

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

TA关注的人

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