- 博客(28)
- 收藏
- 关注
原创 opencv 中 threshold 函数作用
在 OpenCV 中,threshold函数用于将图像转换为二值图像,它通过设置一个阈值来将像素值分类为两类:低于阈值的像素设置为 0(或黑色),高于阈值的像素设置为最大值(通常是 255 或白色)。这是图像处理中的一种常见操作,特别是在边缘检测、图像分割和目标识别等任务中。
2024-11-09 14:57:55 308
原创 Qt中 QWidget 和 QMainWindow 区别
QMainWindow 用来构建更复杂的窗口,QMainWindow 继承自QWidget,在QWidget 的基础上提供了菜单栏、工具栏、状态栏等功能。QWidget 用来构建简单窗口。
2024-11-09 10:56:16 220
原创 numpy 中 where 函数使用
np.where是 NumPy 中的一个非常灵活的函数,用于基于条件返回数组中的元素。它在图像处理中可以用来替换特定条件下的像素值。
2024-11-08 16:49:25 218
原创 not enough values to unpack:没有足够的值来解包
img.shape 的结果是一个包含 (高度, 宽度) 的元组,而不是包含通道数的 (高度, 宽度, 通道数)cv2.IMREAD_REDUCED_GRAYSCALE_4选项,该选项会将图像读取为灰度图像(即单通道)背景:学习使用 imread 以不同格式读取图像,使用 shape 查看图像的属性,遇到报错。图解包 img.shape 到 height, width, channels 时会出错。
2024-11-07 10:49:40 98
原创 C++中的友元机制
友元是一种允许非成员函数和其他类访问类的私有成员和保护成员的机制(这里的成员指的数据成员,成员函数不能被访问),友元的使用场景一般是需要对运算符进行重载。
2024-11-01 10:50:41 157
原创 内存映射原理和优势
在内存映射过程中,操作系统会将文件的内容载入物理内存,并将这块物理内存与进程的虚拟地址空间中的一段地址关联起来。这样,进程可以通过访问这段虚拟地址空间来直接读写文件内容,操作系统负责在虚拟内存和磁盘之间管理数据同步。系统调用频繁切换内核态,而内存映射允许进程直接操作内存中的数据,:不同进程可以通过将同一个文件映射到内存来共享数据,常。映射的地址空间在多个进程间共享,减少了数据的拷贝。到文件,这种机制简化了进程对文件的修改操作。:传统文件 I/O 需要通过。:在映射区域写入的数据会。减少了系统调用的次数。
2024-10-31 00:01:43 162
原创 Linux 系统中文件相关的系统调用
该系统调用会从文件系统中删除文件名的链接,文件内容会在所有链接和文件描述符关闭后被删除。这些系统调用提供了文件的基础 I/O 操作,适用于对文件进行直接、底层的控制,是实现文件处理的核心。将文件映射到内存,允许进程通过内存操作来读写文件,常用于文件 I/O 的高效操作。控制文件描述符的操作,用于获取或设置文件描述符的属性,例如非阻塞模式、文件锁等。强制将文件的内容和元数据同步到磁盘,保证文件内容不会因系统崩溃而丢失。控制设备的I/O操作,常用于操作特殊文件(如设备文件)。获取文件描述符对应文件信息,
2024-10-30 23:53:33 416
原创 Linux 系统中进程相关的系统调用
系列系统调用不创建新进程,而是将当前进程替换为指定的程序,或者说是进行进程替换。返回时会获得不同的返回值(子进程返回0,父进程返回子进程的 PID)。向指定进程发送信号(不仅用于终止进程,也可以用于进程间通信)。获取当前进程的用户 ID 和有效用户 ID,用于权限管理。用于退出当前进程,释放资源,通知内核该进程已经完成。设置当前进程的用户 ID 和有效用户 ID。获取当前进程的组 ID 和有效组 ID。设置当前进程的组 ID 和有效组 ID。获取当前进程的父进程 ID。获取当前进程的进程 ID。
2024-10-30 23:47:23 217
原创 Linux 系统中对事件进行计时
:指定时钟的类型,可以用来选择不同类型的计时器,常见的类型有: :系统的当前时间(即日历时间),受系统时间调整影响。 :单调时钟,记录自系统启动以来的时间,不受系统时间调整的影响,适合测量间隔时间。 :进程的 CPU 时间。 :线程的 CPU 时间。 : 结构体的指针,用于存储获取的时间值。:自 Unix 时间(1970年1月1日)以来的秒数。 :纳秒部分,值范围是 0 到 999999999。 测试代码:
2024-10-29 17:14:58 297
原创 报错解决:no matching function for call to XXX
解决方法:在代码中引入 #include <sys/wait.h> 文件,再重新编译就不会报 error 了。因为 linux 新旧版本导致问题,一些报错在引用对应头文件后可解决。报错:error: unknown type name ‘pid_t’引用 #include <sys/types.h>中文翻译:对于 wait 没有匹配的函数调用。
2024-10-26 22:55:03 247
原创 pthread 相关函数使用
pthread_create:用于创建线程。第一个参数用来接收返回的线程 ID,第二个参数一般默认为NULL,第三个参数为线程执行函数的地址,第四个参数为传递给线程执行函数的值。pthread_exit:用于终止线程执行,并传递回一个值,传递回去的值需要使用指针进行保存。pthread_join:用于等待一个指定的线程终止,并接受指定线程传回来的返回值。
2024-10-19 18:12:28 206
原创 Qt中事件过滤器与信号槽的区别
比如一个按钮被点击,系统产生一个按钮点击事件,这个点击事件先交由 eventFilter 函数进行处理,这里返回 false,不会事件进行拦截,这个事件接着又会被通知到按钮对象,按钮事件接收到该事件后,发送一个 clicked 信号,基于connect 的绑定,接收者接受到 clicked 信号后执行 btn2IsClick 槽函数。当某个对象的状态发生变化时(如按钮被点击),这个对象会发出一个信号(Signal),而另一个对象可以接收这个信号并通过槽(Slot)来处理它。
2024-10-03 20:53:53 197
原创 socket 网络编程
函数用于创建一个新的套接字(Socket),并返回一个用于操作该套接字的文件描述符。表示使用默认的TCP协议。表示使用TCP协议,
2024-09-30 00:39:03 180
原创 解决:window系统中Qt不能同时运行多个相同程序
问题:在Ubuntu中使用Qt,一个项目中可以同时运行多个相同程序。在Window中使用Qt,不能同时运行多个相同程序。解决:【工具】→【选项】→【构建】→在 before building 栏选择 None。
2024-09-23 22:44:27 172
原创 解决 Qt 工程更换目录后,报错 No such file or directory
解决 Qt 工程更换目录后,报错 No such file or directory
2024-09-10 14:47:45 179
原创 VS2019:undefined reference to ‘pthread create
VS2019:undefined reference to 'pthread create
2024-07-24 22:15:53 361
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人