自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 收藏
  • 关注

原创 Halco-灰度特征-纹理特征

【代码】Halco-灰度特征-纹理特征。

2025-01-14 14:54:55 378

原创 Halcon_数据类型_ROI_仿射变换_投影变换

仿射变换:由一个平面/立体图形变换到另一个平面/立体图形,在改变的过程中保持直线和平行线不变(平行线映射为平行线),任何仿射变换都可以分解为缩放、平移、旋转、和切变的组合。相似变换:由一个平面/立体图形变换到另一个平面/立体图形,在改变的过程中保持形状不变(大小方向和位置可变),任何相似变换都可以分解为等比例缩放、平移、旋转的组合。Px:变换的固定点行坐标。类似于C++的函数,但参数依次为:输入图形参数、输出图形参数、输入控制参数、输出控制参数。Py:变换的固定点列坐标。按下鼠标右键确认框选。

2024-12-09 22:57:36 968

原创 Qt_qrc文件管理资源

文件名不要带中文和特殊符号。

2024-08-28 13:35:52 509

原创 Qt_信号槽机制

/当按钮被点击之后,就把按钮中的文本进行切换。

2024-08-27 09:00:20 473

原创 Qt_两种创建组件的方式-通过图形化-通过代码

使用对象树,把界面要显示的这些控件对象都组织其起来,最主要的目的,就是为了能够在合适的时机把这些对象统一进行释放。一般通过代码来构造界面的时候,通常会把构造界面的代码放到Widget/mainWindow的构造函数中。

2024-08-27 07:20:45 457

原创 第三方库jsoncpp

jsoncpp库用于实现json格式的序列化和反序列化,完成将多个数据对象组织成为json格式字符串,以及将json格式字符串解析到多个数据对象的功能。Json::Value类——(使用StreamWriter类进行序列化)——》json格式的字符串。json格式字符串——(使用CharReader类进行反序列化)——》Json::Value类。用于对json格式字符串反序列化,将数据对象存储到一个Json::Value对象中。用于对Json::Value中的数据进行序列化。

2024-08-02 03:34:01 493

原创 第三方库认识- Mysql 数据库 API 认识

初始化完毕之后,必须先链接数据库,进行后续操作。(mysql网络部分是基于TCP/IP的)别点了,也没样例代码,反正我是看不懂。要使用库,必须先进行初始化!表名:test_tb{库名:test_db。

2024-08-02 03:30:34 1411

原创 JavaEE_CAS_Synchronized原理_线程安全集合类

CAS:全称Compare and swap ,字面意思,“比较并交换”。比较交换的是内存和寄存器。如果一个内存:M现在还有两个寄存器:A,B如果M和A的值相同,就把M和B里的值进行交换,同时整个操作返回true.如果M和A的值不相同,无事发生,同时整个操作返回false交换的本质,是为了把B赋值给M.(寄存器B里的值是啥,我们不太关心,更关心的是M里的情况)M=BCAS其实是一个cpu指令。一个cpu指令,就能完成上述比较交换的逻辑。单个cpu指令,是原子的!!!

2024-06-03 23:32:54 822 1

原创 算法_双指针

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!(此题没用到)如果答案不为一且不重合,left++,并判断price[left]是否和price[left-1]相同,相同继续++,并且保证left<right,right也一样更新。解释:调用函数后,输入的数组将被修改为:[1,0,0,2,3,0,0,4]不同的三元组是 [-1,0,1] 和 [-1,-1,2]。解释:调用函数后,输入的数组将被修改为:[1,2,3]

2024-06-03 23:32:11 879

原创 Windows下PostgreSQL数据库的备份与恢复

示例:pg_dump -hlocalhost -U postgres -p 5432 -d mdx -f “E:/mdx_bak.dmp”示例:psql -h localhost -U postgres -d test -f “E:\mdx_bak.dmp”如果想备份数据库,PostgreSQL自带的执行程序pg_dump.exe.在文件目录下,输入cmd,回车。如果要导出大对象需要加上“-b”在文件目录下,输入cmd,回车。-U:这里的“U”,用户名。-f:文件输出的目录和名称。

2024-05-21 22:56:20 2689

原创 Qt_信号与槽_connect_自定义槽函数_自定义信号_2

Linux信号Signal,系统内部的通知机制,进程间通信的方式。信号源:谁发的信号信号的类型:哪种类别的信号信号的处理方式:注册信号处理函数,在信号被触发的时候自动调用执行Qt中的信号和Linux中的信号,虽然不是一样的概念,但是确实有相似之处。Qt中,谈到信号,也是涉及到了三个要素。信号源:由哪个控件发出的信号。信号的类型:用户进行不同的操作,就可能触发不同的信号。点击按钮,触发点击信号。在输入框移动光标,触发移动光标的信号。

2024-05-03 15:49:19 1405

原创 Qt_介绍_环境安装_创建新项目_实现helloworld_坐标_1

这些设备内部也有计算机,这个种设备,里面的计算机,硬件配置就不需要很高了,低配置,低成本,有些嵌入系统,也是需要运行图形化界面的程序的,这个时候Qt就可以起到作用了,尤其是一些工业设备上,当然,这个领域中,Qt也收到了安卓的挑战。虽然大部分的客户端程序,是需要有背后的服务器做支持的,但是确实也有些程序,是不需要服务器的,这样的程序(比如画图板,计数器…Qt框架会在编译的时候,自动先调用一系列的生成工具,基于你自己写的代码,生成一些列的其他的C++代码,最终编译的代码,也是最后生成的这些代码。

2024-05-03 15:49:05 822

原创 Linux_网络基础2_3

HTTPS也是⼀个应⽤层协议.是在HTTP协议的基础上引⼊了⼀个加密层.HTTP协议内容都是按照⽂本的⽅式明⽂传输的.这就导致在传输过程中出现⼀些被篡改的情况http提供的服务端口是:80https提供的服务端口是:443所有的加密,都是为了防止中间人篡改。加密就是把明⽂要传输的信息)进⾏⼀系列变换,⽣成密⽂.解密就是把密⽂再进⾏⼀系列变换,还原成明⽂.在这个加密和解密的过程中,往往需要⼀个或者多个中间的数据,辅助进⾏这个过程,这样的数据称为密钥。

2024-04-25 10:01:17 1045

原创 Boost搜索引擎项目

/ 找到word在html_content中出现的首次出现,然后往前找50字节(如果没有,从begin开始),往后找100字节(如果没有,到end就可以的)// 截取出这部分内容// 1.找到首次出现// 搜索匹配项if (!// 2.获取start,end。

2024-04-25 10:00:10 463

原创 Linux_网络编程套接字_2

对于struct sockaddr_in 要填参数就是//协议家族//ip 会用到inet_addr//端口 会用到htons。

2024-04-11 20:09:16 1194

原创 Linux_网络基础1_1

不可以,拿中文来说,许多的地方有方言,不同地域的人使用方言,是无法进行交流的,同一地域使用方言是可以交流的,虽然都约定了协议,但不统一,后来推出普通话这个协议,使得全中国的人都可以进行交流。对于每一层都有很多协议,数据包在添加报头的时候,也会考虑未来解包的时候,将自己有效载荷交付给上一层哪一个协议这个过程叫——有效载荷的分用的过程。我们把每一层要交给下一层的数据,给他添加上本层的“多出来的协议数据”——报头,拼接在原来的数据的开头。2.一般而言,任何报头属性里面,一定要存在的一些字段支持,我们进行分用!

2024-04-11 20:08:42 860

原创 Linux_线程_8

线程概念:1.在进程内部运行的执行流2.线程比进程粒度更细,调度成本更低3.线程是CPU调度的基本单位Linux认为:没有进程,没有线程在概念上的区分,只有一个叫做执行流!Linux的线程是用进程的PCB模拟的。CPU看到的所有的task_struct都是一个进程CPU看到的所有的task_struct都是一个执行流(线程)重新认识进程和线程:进程 = 内核数据结构 + 进程对应的代码和数据内核视角:进程 ,承担分配系统的资源的基本实体(进程的基本属性),向系统申请资源的基本单位。内部只有一个执

2024-04-05 09:45:38 855

原创 Linux_进程信号_7

生活中有哪些信号?红绿灯,铃声,闹钟…我们是如何得知这些东西?有人教(能够认识这些场景下的信号以及所表示的含义)——识别信号我们找到对应的信号产生时,要做什么?我们早就知道了,信号产生之后,要做什么,即便当前信号还没有产生。——知道信号的处理方法只有具备以上两种能力才具有——处理信号的能力信号是给进程发送的,进程要具备处理信号的能力1.该能力一定是预先已经早就有了的2.进程能够识别对应的信号3.进程能够处理对应的信号。

2024-04-05 09:41:22 905

原创 Linux_进程通信_管道_system V共享内存_6

通信之前,让不同的进程看到同一份资源(文件,内存块…)。我们要学的进程间通信,不是告诉我们如何通信,而是让两个进程看到同一份资源,因为资源不同,所以决定了不同种类的通信方式,而管道就是提供共享资源的一种手段。管道是Unix中最古老的进程间通信的形式。我们把从一个进程连接到另一个进程的一个数据流称为一个“管道“被多个进程,能够看到的资源——临界资源。如果没有对临界资源进行任何保护,对于临界资源的访问,双方进程在进行方法的时候,就都是乱序,可能会因为读写交叉而导致各种乱码,废弃数据,访问控制方法的问题。

2024-04-01 15:04:03 883

原创 Linux_基础io_文件操作_io系统接口(open,write,read)_文件描述符fd_重定向(dup2)_理解缓冲区_简单实现fputs_简单实现命令行重定向_文件系统_5

缓冲区的本质:就是一段内存。

2024-03-28 15:48:21 1193

原创 Linux_地址空间_进程控制_进程创建_进程终止_进程等待_进程替换_简易shell_4

上面说过,进程具有独立性:多进程运行,需要独享各种资源,多进程运行期间互不干扰所谓的地址空间,其实就是OS通过软件的方式,给进程提供一个软件视角,认为自己会独占系统的所有资源(内存)页表是将程序加载到内存由程序变成进程之后由操作系统会给每一个进程构建一个页表结构。通过页表,将父子进程的数据就可以通过写时拷贝的方式,进行了分离。fork有两个返回值,pid_t id,同一个变量,怎么会有不同的值?

2024-03-27 15:57:06 728 2

原创 Linux_进程概念_冯诺依曼_进程概念_查看进程_获取进程pid_创建进程_进程状态_进程优先级_环境变量_获取环境变量三种方式_3

优先级是进程获取资源的先后顺序。权限是能还是不能的问题。

2024-03-24 20:58:11 1041

原创 Linux_开发工具_yum_vim_gcc/g++_gdb_make/makefile_进度条_git_vs code_2

make是一个命令。makefile是一个文件。建立仓库git clonegit addgit commit -m " 写好你的日志"git pushb.第一次使用git的时候,可能会让你配置一下你的用户名和邮箱c..gitignore黑名单,在文件里的有的后缀,不会提交gitee。

2024-03-21 06:35:55 858

原创 Linux_常见指令_权限理_1

传递用户指令,交给OS(操作系统),OS执行完毕,结果交给shell,shell再交给用户,称为命令行解释器,Linux中,外壳就是命令行解释器,windows下,外壳指的就是图形化界面。Linux下可以存在一些目录,拥有者和所属组是root,其他人允许以other的身份在该目录下进行文件的创建,读取,删除,修改等!如果在cp的时候,要拷贝的文件,是拷贝在当前路径下,两个文件的名称不能一样。依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。

2024-03-19 16:12:15 933

原创 Java_多线程初阶_多线概念_Thread_线程安全_wait notify_线程案例

文章目录一、创建线程1.继承Thread类,重写run2.实现Runnable,重写run3.继承Thread,重写run,使用匿名内部类4.实现Runnable,重写run,使用匿名内部类5.使用lambda表达式 (推荐)6.观察多线程运行情况二、Thread的一些重要属性和方法1.构造方法 和 name作用2.Thread的几个常见属性1、ID2、名称3、状态4、优先级5、是否后台线程6、是否存活7、是否被中断3. 启动线程start4.终止线程1、方法一2.方法二5.等待线程6.获取线程引用7.休眠

2024-03-17 22:38:50 1045

原创 Java_Map_Set

Map和Set要解决是搜索问题,TreeSet和TreeMap背后是一个棵搜索树,这棵搜索树是红黑树。接下来学习过程是搜索树-》平衡二叉树-》红黑树。

2024-03-10 00:50:09 793

原创 Java_排序

假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;基本思想:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。

2024-03-07 16:14:56 752

原创 Java_优先级队列(堆)(Priority Queue)

使用时必须导入PriorityQueue所在的包,即:PriorityQueue中放置的元素必须要能够比较大小,不能插入无法比较大小的对象,否则会抛出ClassCastException异常不能插入null对象,否则会抛出NullPointerException没有容量限制,可以插入任意多个元素,其内部可以自动扩容插入和删除元素的时间复杂度为(long2N)底层使用了堆数据结构默认情况下是小堆—即每次获取到的元素都是最小的元素。

2024-03-05 21:43:51 1309

原创 Java_二叉树

文章目录一、二叉树1.树型结构2.概念(重要)3.树的表示形式(了解)4.树的应用5.二叉树的概念6.两种特殊的二叉树7.二叉树的性质练习8.二叉树的存储9.二叉树的遍历手动创建二叉树1、前中后遍历2、层序遍历3、二叉树的基本操作获取树中节点的个数获取叶子节点的个数获取第K层节点的个数获取二叉树的高度检测值为value的元素是否存在层序遍历判断一棵树是不是完全二叉树练习1练习2相同的树另一棵树的子树翻转二叉树平衡二叉树对称二叉树二叉树遍历二叉树的层序遍历二叉树的最近公共祖先从前序与中序遍历序列构造二叉树从中

2024-03-04 10:39:42 998

原创 Java_栈_队列

int pop();int peek();int size();//判断是否满@Override@Overridereturn 0;

2024-02-08 19:24:22 1318 1

原创 Java_简单实现无头单向非循环链表_简单实现LinkedList

/头插法//尾插法//任意位置插入,第一个数据节点为0号下标//查找是否包含关键字key是否在单链表当中//删除第一次出现关键字为key的节点//删除所有值为key的节点//得到单链表的长度@Override@Override@Override@Override@Override@Override@Overridereturn 0;@Override@Override节点类包含存储数据和下一个节点引用。//头插法//尾插法。

2024-02-03 00:33:45 759

原创 Java_简单模拟实现ArrayList_学习ArrayList

/ 新增元素,默认在数组最后新增// 在 pos 位置新增元素//判断是否包含某个元素//查找某一元素的位置//获取pos位置的元素//给pos位置元素设为value//删除第一次出现的关键字key//获取顺序表的长豆//清空顺序表//打印顺序表,注意:该方法不是顺序表的方法,为了方便测试结果给出的MyArrayList要继承上面的接口并实现,现在是框架。

2024-02-01 00:21:15 1466

原创 Java_包装类_泛型

方法限定符 <类型形参列表> 返回值类型 方法名称(形参列表) { … }

2024-01-31 00:57:56 1067

原创 Java_异常

自定义异常类,然后继承自Exception 或者 RunTimeException实现一个带有String类型参数的构造方法,参数含义:出现异常的原因//继承Exception是编译异常//继承RuntimeException是运行时异常注意事项自定义异常通常会继承自 Exception 或者 RuntimeException继承自 Exception 的异常默认是受查异常继承自 RuntimeException 的异常默认是非受查异常。

2024-01-13 18:13:40 869

原创 Java_String

在C语言中已经涉及到字符串了,但是在C语言中要表示字符串只能使用字符数组或者字符指针,可以使用标准库提供的字符串系列函数完成大部分操作,但是这种将数据和操作数据方法分离开的方式不符合面相对象的思想,而字符串应用又非常广泛,因此Java语言专门提供了String类。由于String的不可更改特性,为了方便字符串的修改,Java中又提供StringBuilder和StringBuffer类。注意:对于内置类型,== 比较的是变量中的值;可以将一个完整的字符串按照指定的分隔符划分为若干个子字符串。

2024-01-12 21:57:03 823

原创 Java_多态_抽象类_接口

向下转型用的比较少,而且不安全,万一转换失败,运行时就会抛异常。在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。向下转型:将一个子类对象经过向上转型之后当成父类方法使用,再无法调用子类的方法,但有时候可能需要调用子类特有的方法,此时:将父类引用再还原为子类对象即可,即向下转换。在Java中,类和类之间是单继承的,一个类只能有一个父类,即Java中不支持多继承,但是一个类可以实现多个接口。

2024-01-02 22:00:19 1009 1

原创 从零开始学Java第七期

Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。类是用来对一个实体(对象)来进行描述的,主要描述该实体(对象)具有哪些属性(外观尺寸等),哪些功能(用来干啥),描述完成后计算机就可以识别了。比如:洗衣机,它是一个品牌,在Java中可以将其看成是一个类别。

2023-11-09 14:10:43 63

原创 Java_数组

数组:可以看成是相同类型元素的一个集合。

2023-11-08 12:17:52 52

原创 二分查找算法详解(查找左右端点二分)

最恶心,细节最多,最容易写出死循环的算法。(掌握后就变成最简单的算法)用二分查找算法,并不是一定要有序,只要发现数组有一定规律,就可以使用。不要死记硬背->理解之后再记忆有三个模板:1朴素的二分模板(简单,但有局限)练习题:二分查找2查找左边界的二分模板(万能,细节多)3查找右 边界的二分模板 (万能,细节多)2和3的练习题: 在排序数组中查找元素的第一个和最后一个位置先别急的做,可以点开看题目,再看下面讲解再做!二分查找题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目

2023-11-07 22:29:43 352

原创 从零开始学Java第五期

方法就是一个代码片段。类似于C语言中的函数"函数"。方法的意义:1是能够模块化的组织代码(当前代码规模比较复杂的时候)2做到代码被重复使用, 一份代码可以在多个位置使用.3 让代码更好理解更简单.4 直接调用现有方法开发, 不必重复造轮子.方法语法格式// 方法定义修饰符 返回值类型 方法名称([参数类型 形参 ...]){方法体代码;[return 返回值];修饰符:现阶段直接使用public static 固定搭配。

2023-11-06 21:59:47 53

空空如也

空空如也

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

TA关注的人

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