- 博客(110)
- 资源 (4)
- 收藏
- 关注
原创 opencv,连续拍摄多张图像求平均值减少噪点
对于照度低或者相机质量差造成的密集的随机小噪点,可以通过拍摄多张图像求平均值的方法来减少噪点,获得较为清晰的画面。与高斯滤波的效果相比,这种方法在降噪的同时不会使画面模糊,甚至更锐利。
2024-07-21 17:40:23
186
原创 opencv读写路径包含中文的文件
opencv直接读写路径包含中文的文件会出错。这是因为cv2.imread内部处理文件路径时,默认使用的是 C++ 标准库中的字符串处理函数,这些函数对于非 ASCII 字符可能处理不当,导致无法正确读取文件。1、使用读取文件内容,可以绕过文件路径的编码问题。方法直接从文件系统中读取原始的字节流,并将其存储在一个numpy数组中。这样就避免了文件路径编码的问题。2、使用cv2.imdecode 方法从内存中的字节流解码图像数据。
2024-07-20 18:10:42
293
原创 PySide(PyQt),使用 QGraphicsOpacityEffect 设置小部件的整体显示透明度
在 PySide6 中,可以使用 QGraphicsOpacityEffect 类来实现整体显示透明度。制作一个动态闪烁的指示灯。
2024-07-19 17:07:49
177
原创 PySide在Qt Designer中使用QTableView 显示表格数据
在 PySide6 中,可以使用 Qt Model View 架构中的 QTableView 部件来显示和编辑表格数据。
2024-07-15 18:28:04
421
原创 python的seek()和tell()
是用来在文件中移动指针位置的方法。它的作用是将文件内部的当前位置设置为指定的位置。offset: 这是一个整数值,表示相对于起始位置的偏移量。如果是正数,表示向文件末尾方向移动;如果是负数,表示向文件开头方向移动;如果是0,表示移动到文件的起始位置。whence: 这是一个可选参数,指定偏移量的参考位置。它有三个可选值:从文件开头偏移: 从文件末尾偏移: 从当前位置偏移: 方法返回的是文件指针的当前位置(以字节为单位)。在处理文件时, 是一个非常有用的方法,特别是在需要跳转
2024-07-13 23:00:30
406
1
原创 python的readline()和readlines()
将文件指针移到文件末尾# 获取文件末尾位置lines = []# 逐行向前读取文件内容,直到达到指定的行数或文件开头# lines.append(f.readline().rstrip('\n')) 用readline()的方法lines = f.readlines() # 用readlines()的方法break# 返回结果,注意如果用readline()的方法要逆序输出# return lines[::-1] # 逆序输出# 调用函数并显示最后5行内容。
2024-07-13 22:56:39
1034
原创 PySide(PyQt),csv文件的显示
在Qt Designer中新建QMainWindow,命名为csvShow.ui。QMainWindow上有两个部件:widget_csv和btn_exit。
2024-07-13 18:09:47
298
原创 python关于文件和路径的一些操作
在 Python 中,os.path模块提供了许多用于处理文件和目录路径的函数,这些函数能够跨操作系统平台运行,因为它们能够自动适应不同的路径分隔符和规范化。下面是一些常用的os.path和 os.path.isdir()和 os.path.dirname()这些函数使得在处理文件和目录路径时更加方便和可移植。
2024-07-11 22:36:47
901
原创 python,利用可变对象实现设置参数的同步回存
。将['a']['b']['c']['d']['e'],这个多层的内容值设置为一个变量,当变量在使用中被改变之后,要求将自动其回存至json文件,而不用手动地再次输入['a']['b']['c']['d']['e']这样复杂的结构。我们知道,一个列表,它的内存地址是固定的,但它的元素内容是可变的,利用这个特性就可以实现变量的传递。
2024-07-10 22:19:23
851
原创 PySide(PyQt)的QMessageBox
是 PySide6 中用于显示各种消息框的类,它能够在图形用户界面中弹出一个对话框,用于向用户展示信息、警告或错误,并接收用户的响应。它通常用于与用户进行简单的交互或提示操作的结果。显示不同类型的消息:按钮和响应:使用简单:标准按钮和自定义按钮:灵活的定制化:静态方法:属性和方法:这些方法展示了如何利用 提供不同类型的消息提示,以便用户了解操作的成功与否或者需要采取的进一步步骤。总之, 是一个非常有用的工具类,能够帮助开发者在用户界面中有效地处理信息提示和用户交互,提升应用程序的用户体验。
2024-07-08 23:35:03
236
原创 python的os.walk()
os.walk()是一个非常有用的函数,用于在Python中遍历文件夹树。它返回一个生成器,该生成器在每次迭代时返回一个包含三个元素的元组:(当前文件夹的路径,文件夹中的子文件夹的列表,文件夹中的文件的列表)。这个函数对于递归地操作文件系统,如查找、文件重命名或移动文件特别有用。
2024-07-05 22:18:33
247
原创 PySide(PyQt),event.pos() 和 event.position()的区别
来获取鼠标在特定部件内的坐标,因为这通常是处理鼠标事件时所需的局部坐标。)则通常用于需要知道鼠标在屏幕上的绝对位置时,例如在拖放操作或全局事件处理中。在大多数情况下,你会使用。在 PySide6 中,
2024-06-29 10:30:38
210
原创 PySide(PyQt)利用回调和闭包定义信号与槽
如图3个按钮,均设为checkable,放置在一个groupbox内成为一个按钮组,要求实现的功能:当点击某个按钮时将本按钮设为选中(,也就是列表中最后一个按钮的状态会始终被设置为选中,而其他按钮则会被取消选中。看上去好像没问题,但是运行结果如下:无论点击哪一个按钮,只有按钮3被选中。的值都会被最后一个按钮对象所覆盖,因此当任何按钮被点击时,实际上都会调用。是一个循环变量,其值在整个循环执行期间会发生变化。这意味着在每次循环中,,并取消选中按钮站中的其他所有按钮(
2024-06-21 10:59:05
181
原创 python的函数的嵌套调用
函数b()被定义在函数a()的内部,因此它的作用域仅限于a()函数内部,在a()函数外部无法直接访问和调用函数b()。将函数b()作为a()函数的返回值,这样在调用a()函数时可以得到函数b()的引用。问题的提出:我们知道可以通过定义类(class)的方法在一个函数内调用和访问另一个类内的函数或方法。那么如果不定义类,怎样用一个函数调直接用另一个函数?将函数b()定义为全局变量,这样就可以在a()函数外部访问到函数b()。将函数b()作为另一个函数的参数传递,在这个函数内部调用函数b()。
2024-06-17 17:05:26
260
原创 Pyside使用Qt Designer和uic工具的基本框架的demo
1、在Qt Designer里创建窗口,并存盘。本例命名为show.ui;2、使用pyuic工具将.ui转换为.py文件;3、创建主py文件,调用。
2024-06-14 11:26:39
657
2
原创 pyside6在QLabel上显示图像文件
显示结果:原图的长宽按照label的尺寸自动缩放,如果原图和label的长宽比不同,会有变形。显示结果:原图按照最合适的不变形比例进行缩放。猫咪的图片:370*280像素。运行结果:原图1:1显示。
2024-06-13 16:38:28
323
原创 python的变量的引用与赋值的学习
字典或者JSON数据,我们有时候需要修改字典的值,如果字典的结构层次很深,修改起来就很繁琐。由于变量和字典的值同时指向了同一个列表,这是因为列表是可变对象,当你通过变量修改了列表的内容时,所有指向该列表的引用都会反映出这些修改,字典的值得到了预期的修改。并没有实现预期的功能,原因与文章开头的第一段代码相同,变量只是被重新赋值,无法将变量的改变传递到字典的值。这是因为列表是可变对象,当你通过一个引用修改了列表的内容时,所有指向该列表的引用都会反映出这些修改。在这个代码中,对字典的一个值的修改很不简洁。
2024-06-13 10:49:36
546
原创 threading.Lock()互斥锁
是Python中的线程锁,用于在多线程程序中控制线程对共享资源的访问。当一个线程获得了锁之后,其他线程需要等待这个线程释放锁之后才能继续访问共享资源。看得出,由于多线程同时访问同一个变量,变量的变化是随机和混乱的。有了互斥锁后,线程对变量的访问是唯一和有序的。
2024-06-11 15:10:48
215
原创 threading.Timer()的用法
threading.Timer()是 Python 中的一个线程模块,用于创建一个定时器线程。它可以在指定的延迟时间后执行一个指定的函数。
2024-06-11 10:36:59
273
原创 OpenCV的“画笔”功能
cv2.setMouseCallback()是 OpenCV 库中用于设置鼠标事件回调函数的函数。该函数用于与图像窗口交互,通过在图像窗口中进行鼠标操作来获取像素点的坐标或执行一些特定操作。图软件的自由笔刷功能,当按住鼠标左键,在屏幕上画出连续的线条
2024-06-06 22:12:15
464
原创 OpenCV的小部件最基本范例
OpenCV也有与PYQT类似的小部件,例如滑块slider。OpenCV可以用与PYQT类似的“信号与槽”方法,也可以在函数中直接查询小部件的值。
2024-06-06 20:34:29
288
原创 python的副本拷贝
究其原因,在 Python 中,将一个列表赋值给另一个变量,如 b = a,你并没有创建一个新的列表副本,而是创建了一个指向同一列表的新引用。因此,当修改 b 时,由于 a 和 b 指向同一个列表,a 也会发生改变。如果你想要修改 b 而保持 a 不变,需要创建 a 的一个副本。所以使用深拷贝来确保这些内部元素也被拷贝。如果列表 a 包含了其他可变数据类型,比如列表,以上方法也实现不了副本拷贝的功能。这并不我想要的结果,我只希望拷贝一个a的副本b,当我改变b时不希望a变化。1、使用copy()
2024-06-03 17:04:19
256
原创 OpenCV 的几种查找图像中轮廓边缘的方法
还可以通过自定义卷积核来进行边缘检测。import cv2# 读取图像并转换为灰度图# 定义自定义卷积核# 使用自定义卷积核进行边缘检测# 将结果转换为 8 位图像# 显示图像。
2024-06-02 21:55:49
1410
3
原创 opencv用自适应直方图均衡化函数cv2.createCLAHE()提高对比度
来自WeTab AI Pro是 OpenCV 中的一个函数,用于创建 CLAHE(Contrast Limited Adaptive Histogram Equalization,对比度受限自适应直方图均衡化)对象。CLAHE 是一种增强图像局部对比度的技术,通过限制对比度来避免传统直方图均衡化所引入的噪声和过度增强。以下是。
2024-06-02 11:54:50
679
原创 python装饰器的学习程序
来自WeTab AI ProPython 装饰器是一种允许在函数或方法运行之前或之后执行额外代码的工具。它通常用于横切关注点(如日志记录、访问控制、性能计数等)。装饰器实际上是一个返回函数的函数,可以使用语法简化函数装饰的过程。
2024-05-29 16:15:19
219
原创 opencv的findContours()函数
来自WaTab AI Pro是 OpenCV 中用于检测图像轮廓的函数。轮廓可以看作是将连续的点(沿边界)连接在一起的一条曲线,具有相同的颜色或强度。该函数常用于图像处理和计算机视觉中的对象检测和识别。下面是的详细解释及其用法。
2024-05-28 17:20:39
759
试试用pyqt做一个上位机软件,但愿不会烂尾(七)配套资源
2023-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人