自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

doubleintfloat的博客

记录与分享技术成长道路上的点滴

  • 博客(459)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Halcon 八种模版匹配方法汇总

方法适用场景计算速度鲁棒性灰度值匹配简单场景、光照稳定快低相关性匹配抗噪声、亮度变化中中形状匹配工业定位、部分遮挡快高组件匹配复杂结构、多部件目标慢高局部形变匹配弹性变形物体慢中透视形变匹配3D视角变化慢高描述符匹配自然场景、复杂纹理慢极高点匹配关键点显著的场景中中注意事项工业检测优先选择形状匹配或组件匹配;复杂场景(如自然图像)优先使用描述符匹配;对速度要求高时选择灰度值或相关性匹配。

2025-04-03 11:04:58 1008

原创 pyqt SQL Server 数据库查询-优化2

2、增加删除表里数据功能。1、增加导出数据功能。

2025-04-02 10:29:04 329

原创 进程与线程

进程是资源包,线程是执行线进程像独立别墅,线程像合租室友开进程像创业,起线程像招员工。

2025-04-02 08:40:01 755

原创 海康相机型号命名规则

备忘,参考:B站优致谱视觉。

2025-04-01 21:46:07 99

原创 相机的曝光和增益

相机的图像传感器将光信号转换为电信号,增益就是对这些电信号进行放大。在相机内部,有专门的增益电路来实现这一功能。当开启增益功能时,电路会根据设定的增益值,将传感器输出的电信号按比例放大,然后再经过模数转换等后续处理,最终形成我们看到的数字图像。相机增益是一把双刃剑,在提高图像亮度和细节的同时,也会带来噪点增加和动态范围压缩等问题。用户需要根据具体的拍摄需求和环境,合理设置增益,以达到最佳的拍摄效果。参考:B站优致谱视觉。

2025-04-01 21:26:24 501

原创 全局曝光与卷帘曝光

不过,随着技术的不断发展,全局曝光传感器的性能也在不断提升,在一些特定的应用场景中,已经能够实现较高的帧率,以满足对高速成像和高精度图像质量的要求。参考:B站优致谱视觉。

2025-04-01 21:16:47 686

原创 黑白彩色相机成像原理

参考:B站优致谱视觉。

2025-04-01 20:37:41 568

原创 STL新增内容

这些新增内容使得 STL 更加完善和强大,为 C++ 开发者提供了更多高效、便捷的工具。

2025-04-01 15:55:35 390

原创 镜头的分辨率与反差

镜头分辨率是指镜头在成像平面上能够分辨的最小细节,通常以单位长度内能够分辨的线对数(Line Pairs per Millimeter,简称lp/mm)来表示。例如,一个镜头的分辨率为100 lp/mm,表示在每毫米的成像范围内,该镜头能够清晰分辨出100对黑白相间的线条。分辨率越高,镜头能够捕捉到的细节就越丰富,成像也就越清晰。镜头反差是指镜头所成图像中最亮部分与最暗部分的亮度比值。高反差意味着图像中亮部和暗部之间的差异明显,亮部更亮,暗部更暗,图像具有强烈的视觉冲击力;

2025-04-01 11:22:22 937

原创 远心镜头原理

远心镜头的工作原理基于其特殊的光学设计,旨在解决普通镜头存在的视差问题。它通过将镜头的光轴与成像面垂直,并使主光线平行于光轴,从而确保在一定的物距范围内,物体上的点在成像面上的成像大小与物体到镜头的距离无关。简单来说,就是无论物体位于镜头前的哪个位置(在一定范围内),其在图像上的尺寸都保持不变,这使得对物体的测量和检测更加准确和可靠。

2025-03-31 22:03:49 1081

原创 相机镜头景深

景深是指在摄影机镜头或其他成像器前沿着能够取得清晰图像的成像器轴线所测定的物体距离范围。简单来说,就是在一张照片中,从前景到背景,能够保持清晰锐利的区域。在景深范围内的物体,其成像清晰,而在景深范围外的物体,则会呈现出不同程度的模糊。

2025-03-31 21:40:50 938

原创 镜头光圈总结

光圈是镜头内部的一个可调节孔径装置,由多个金属薄片组成,通过控制这些薄片的开合程度来改变通光孔径的大小,从而控制进入相机的光线量。

2025-03-31 16:38:19 824

原创 镜头的变焦和对焦

镜头的变焦和对焦是摄影中两个非常重要的概念,它们对于拍摄出清晰、理想的照片起着关键作用。参考:B站优致谱视觉。

2025-03-31 15:32:19 1068

原创 CCD CMOS原理及异同

CCD(电荷耦合器件)和CMOS(互补金属氧化物半导体)是图像传感器领域的两种关键技术,

2025-03-31 15:04:00 693

原创 文件描述符以及修改

文件描述符的标志位是操作系统中用于描述文件描述符属性和行为的一组二进制标志。文件描述符是一个非负整数,它是操作系统内核为了管理已打开的文件而分配给每个进程的索引值。标志位则提供了关于文件描述符的额外信息,例如文件的打开模式、访问权限、特殊行为等。在 Windows 系统中,虽然没有完全与 Linux 相同的文件描述符概念,但有类似的文件句柄机制。函数将新的标志位设置回文件描述符,最后关闭文件描述符。在 Linux 系统中,文件描述符的标志位可以通过。在这个示例中,首先以读写模式打开一个文件,然后使用。

2025-03-29 14:24:00 769

原创 http服务器代码里哪里体现TCP三次握手

函数是三次握手完成的关键触发点。这些函数间接触发和利用了操作系统的三次握手机制,以建立可靠的 TCP 连接用于后续的 HTTP 通信。),流式套接字默认使用 TCP 协议,这是三次握手的基础,因为三次握手是 TCP 协议建立连接的过程。总结来说,在代码里三次握手的具体实现是由操作系统内核完成的,代码中通过。函数创建了一个基于 IPv4(

2025-03-29 10:56:03 193

原创 http与tcp的关系

虽然 HTTP 协议通常使用 TCP 作为底层传输协议,但在某些特殊情况下,也可以使用其他传输层协议。例如,HTTP/3 协议使用了基于 UDP 的 QUIC 协议作为底层传输协议。HTTP 协议是一种应用层协议,它依赖传输层的协议来实现数据的可靠传输。TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,而 HTTP 协议在绝大多数情况下使用 TCP 作为其底层传输协议。通过这三次握手,客户端和服务器之间建立了一个可靠的 TCP 连接,为后续的 HTTP 数据传输奠定了基础。

2025-03-29 10:44:28 933

原创 函数参数是定义还是赋值

在函数定义阶段,像里的a和b属于形参,此时它们是一种占位符,用于表明函数接收的参数类型和数量。这其实是在定义函数接口,为函数内部使用这些参数做好准备。从语法层面来看,这是变量的定义过程,只是这些变量没有具体的值。// 函数定义,这里的 a 和 b 是形参的定义。

2025-03-27 20:47:06 294

原创 C++ register关键字

关键字的主要作用是建议编译器将变量存储在CPU的寄存器中,而不是内存里。寄存器是CPU内部的高速存储单元,和内存相比,寄存器的读写速度要快很多。要是变量被频繁访问,把它放在寄存器里就能显著提升程序的运行效率。会被频繁使用,所以建议编译器把它存到寄存器中。是C和C++编程语言里的一个存储类说明符。

2025-03-27 20:40:22 384

原创 UDP server client 和TCP server client 的异同,代码逻辑异同

无论是 UDP 还是 TCP,在代码中都需要创建套接字(socket)对象,这是网络通信的基础。同时,都需要指定服务器的地址和端口,以便客户端能够找到服务器进行通信。两种协议都需要实现数据的发送和接收功能。客户端需要将数据发送给服务器,服务器接收数据后可能会返回响应,客户端再接收响应。在通信结束后,都需要关闭套接字以释放系统资源。方法进行数据的发送和接收,需要指定地址;方法,基于已建立的连接进行数据传输。和服务器端类似,UDP 客户端使用。用于 UDP 套接字,用于 TCP 套接字。

2025-03-26 20:58:47 638

原创 UPDclient server

Visual Studio 2022 中可以运行的 UDP 客户端和服务器的示例代码。这个示例使用 C++ 和 Windows Socket API 来实现 UDP 通信。

2025-03-26 20:55:04 343

原创 数据库主键,外键,超建,索引

建立表之间的关联,确保引用完整性。

2025-03-26 17:32:20 701

原创 数据库范式2

其实范式总共有六个(1NF到5NF+BCNF),但实际开发中常用到第三范式(3NF),更高阶的范式通常出现在理论场景。:数据库设计一般到3NF就够用了,但有时为了查询更快,允许少量重复数据(比如电商订单页直接显示商品名称,而不是只存ID)。:只有同时关联三者的数据才有意义,且拆分后能通过**连接(JOIN)**还原原表。依赖的是出版社名称,而不是直接依赖书名(书名→出版社→电话)。:如果A→B→C(A决定B,B决定C),就需要拆表。:如果A→→B且A→→C,且B和C无关,就必须拆表。(主键:出版社名称)

2025-03-26 16:49:50 637

原创 SQL 视图

视图就像是一个虚拟的表,它是从一个或多个实际表中提取数据后形成的一种“窗口”。通过这个“窗口”,你可以按照特定的需求查看和使用数据,但视图本身并不实际存储数据,数据仍然存储在原来的表中。比如,你有一个包含员工信息的表,里面有员工的姓名、年龄、工资、部门等各种字段。但有时候,你只需要查看某个部门员工的姓名和工资信息,不想看到其他无关的内容。这时,你就可以创建一个视图,让它只显示你关心的这个部门员工的姓名和工资这两列数据。

2025-03-26 16:21:56 543

原创 SQL Server 中常见的数据类型及其详细解释、内存占用和适用场景

【代码】SQL Server 中常见的数据类型及其详细解释、内存占用和适用场景。

2025-03-26 16:04:37 1029

原创 std::variant 和enum的区别

枚举(enum枚举是一种用户定义的数据类型,它由一组命名的常量值组成,这些常量值被称为枚举项。每个枚举项都有一个对应的整数值,默认情况下从 0 开始依次递增,也可以手动指定枚举项的值。示例代码如下:// 定义一个枚举类型RED,GREEN,BLUEreturn 0;是 C++17 引入的一个类型安全的联合体(Union),它可以存储多种不同类型的值,但在同一时间只能存储其中一种类型的值。可以包含任意类型,包括用户自定义类型。

2025-03-26 13:44:16 482

原创 pyqt SQL Server 数据库查询-优化

SQL Server数据库查询工具” 是一款基于Python和PyQt6开发的应用程序,旨在为用户提供便捷的SQL Server数据库管理与查询功能。该工具允许用户连接至SQL Server数据库,浏览数据库中的表结构,执行自定义查询,并以直观的表格形式展示查询结果。同时,工具具备安全防护机制,防止用户执行危险的数据库操作,如删除表或数据库。

2025-03-26 08:57:45 1077

原创 堆栈溢出常见原因

堆栈溢出会导致程序异常终止,在开发过程中,需要注意合理使用内存,避免出现上述导致堆栈溢出的情况。可以通过工具来检测内存泄漏和分析堆栈使用情况,及时发现和解决问题。

2025-03-25 11:19:53 361

原创 rabbitmq承接MES客户端服务器

此方案的核心是在非标设备软件和客户 MES 服务器之间引入 RabbitMQ 作为中间层。非标设备将生产数据上传至本地数据库,然后由数据同步模块从数据库中读取数据并发送到 RabbitMQ。客户 MES 服务器从 RabbitMQ 接收数据。同时,MES 服务器可以将启动、暂停等指令发送到 RabbitMQ,设备端的指令接收模块从 RabbitMQ 接收这些指令并执行相应操作。

2025-03-25 09:48:29 1189

原创 python filter() 和 reduce()函数

filter()函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,该迭代器包含原序列中符合条件的元素。reduce()函数用于对序列中的元素进行累积操作,它会将序列中的元素依次进行二元运算,最终得到一个单一的结果。需要注意的是,reduce()函数在 Python 2 中是内置函数,在 Python 3 中被移到了functools模块中。filter()函数主要用于过滤序列中的元素,根据条件筛选出符合要求的元素。reduce()

2025-03-24 21:45:07 335

原创 python 中match...case 和 C switch case区别

语句在语法和功能上都更加灵活强大,能够处理复杂的匹配需求,而传统的。在 Python 3.10 及以后的版本中引入了。语句则相对简单,主要用于常量值的比较。语句有相似之处,但也存在不少区别,语句,它和其他编程语言里的。综上所述,Python 的。

2025-03-24 20:20:06 337

原创 IO模型种类

在计算机编程和操作系统领域,I/O(输入/输出)模型是处理输入输出操作的不同方式,主要用于解决应用程序如何与外部设备(如磁盘、网络等)进行数据交互的问题。这些 I/O 模型各有优缺点,在不同的应用场景中可以选择合适的模型来提高程序的性能和效率。

2025-03-24 20:07:36 938

原创 pyqt SQL Server 数据库查询

本项目旨在开发一个基于 Python 和 PyQt6 的数据库查询工具,该工具能够连接到 SQL Server 数据库,显示数据库中的表名,支持用户输入 SQL 查询语句进行数据查询,并将查询结果展示在表格中。同时,为了提升用户体验,对界面进行了一系列优化,包括调整控件大小、设置选中项颜色、放大查询按钮以及改变查询输入区域背景颜色等。通过本项目的开发,我们实现了一个简单易用的 SQL Server 数据库查询工具,同时对界面进行了优化,提升了用户体验。

2025-03-24 16:40:35 1412

原创 网关、子网掩码设置及作用

综上所述,网关主要负责不同网络之间的数据转发和协议转换,而子网掩码用于确定IP地址的网络部分和主机部分,以及划分网络和确定网络边界,它们在计算机网络的通信和管理中都起着至关重要的作用。

2025-03-24 15:10:14 592

原创 sql语句给表添加一个递增列

SSMS–》视图-》数据库(表)-》新建查询执行完以上操作,会在表的最后一列添加一个自增字段接下来如何把最后一个字段放到第一个字段呢?假如sqlserver 表test 有以下列,列名字段如下 a1 a2 a3 a4 a5,现在我想把a5放到a1前面,该如何操作?sqlserver 表在 SQL Server 里,表的列顺序通常不会影响数据的存储和查询结果,但要是你有将a5列移到a1。

2025-03-24 14:40:02 492

原创 管道通信基本原理

但它也有一些局限性,如管道是单向的,数据只能从写端流向读端,如果需要双向通信,需要创建两个管道;管道是一种用于进程间通信(IPC)的机制,它的通信原理基于内核缓冲区和文件描述符,通过将数据从一个进程的输出连接到另一个进程的输入来实现数据传输。命名管道(FIFO):通过文件系统中的命名管道文件(如 mkfifo 命令创建),允许无关进程通信。创建管道:父进程通过系统调用(如 pipe())创建管道,内核分配缓冲区并返回两个文件描述符。匿名管道:只能用于有亲缘关系的进程(如父子进程、兄弟进程)。

2025-03-24 10:24:58 778

原创 用户态内核态切换

内核态和用户态是操作系统中两种不同的运行级别,它们的主要区别如下。

2025-03-22 21:33:42 377

原创 C++ CAS

它通过比较内存中的值和预期值,如果两者相等,则将内存中的值更新为新值;如果不相等,则表示该值已经被其他线程修改,操作失败。整个比较和交换的过程是原子的,即在执行过程中不会被其他线程中断。CAS 即 Compare-And-Swap,是一种用于实现多线程同步的原子操作。CAS 操作通常是由硬件层面提供支持,例如在 x86 架构中,有专门的指令来实现 CAS 操作,这保证了操作的原子性。CAS 操作通常需要三个参数:内存地址(V)、预期值(A)和新值(B)。

2025-03-22 10:02:50 529

原创 悲观锁乐观锁

悲观锁和乐观锁各有优缺点,在实际应用中,需要根据具体的业务场景和并发情况来选择合适的锁机制。如果对数据一致性要求极高且写操作频繁,建议使用悲观锁;如果读操作频繁且并发冲突较少,乐观锁可能是更好的选择。

2025-03-22 09:54:34 670

原创 C++平凡类型和非平凡类型异同

非平凡类型是不满足平凡类型定义的类型。拥有平凡的默认构造函数:即编译器自动生成的默认构造函数,没有用户自定义的默认构造函数。拥有平凡的拷贝构造函数:编译器自动生成的拷贝构造函数,没有用户自定义的拷贝构造函数。拥有平凡的析构函数:编译器自动生成的析构函数,没有用户自定义的析构函数。若一个类型不满足上述任何一个条件,它就是非平凡类型。

2025-03-22 09:25:13 436

QT文件查询,查询单个文件和文件夹下所有文件行数

QT文件查询,查询单个文件和文件夹下所有文件行数

2023-07-06

Linux程序设计第四版

这是我自己平时看的一本书,分享给有需要的人,希望可以帮到大家

2018-03-01

空空如也

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

TA关注的人

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