- 博客(149)
- 资源 (2)
- 收藏
- 关注
原创 debug——线程
③跨线程访问UI:如果你的应用程序中有多个线程,并且其中一个线程尝试直接访问UI元素或执行UI操作,可能会导致UI线程阻塞或发生错误。确保在非UI线程中对UI元素的访问和操作通过正确的机制进行,如使用信号和槽机制。②线程同步问题:如果你的应用程序中有多个线程并发执行,并且没有正确的线程同步机制,可能会导致竞争条件或死锁。①阻塞操作:如果你的应用程序中有一些阻塞操作,例如网络请求、长时间的计算或文件读写,这些操作可能会导致主线程或其他线程被阻塞,从而导致应用程序停止响应。
2023-08-15 11:46:33 145
原创 图像处理——SIFT
1、当opencv-python版本为4.7.0.72时,sift = cv2.SIFT_create()可以运行成功,sift = cv2.xfeatures2d.SIFT_create()不可以。
2023-08-11 02:14:30 146
原创 debug——偶发报警:RuntimeError: CUDA error: unknown error
2、并发问题:如果您的代码中涉及到多个线程或进程同时使用GPU资源,那么可能会发生并发问题。例如,如果您的数据集中存在异常值或不一致的数据,可能会导致CUDA错误。2、检查代码中的并发问题:如果您的代码涉及到多个线程或进程同时使用GPU资源,请确保您正确地同步和管理GPU资源的访问。4、检查硬件问题:如果您怀疑是硬件问题导致的CUDA错误,可以尝试在其他计算机或使用其他GPU上运行代码进行测试。4、硬件问题:某些CUDA错误可能是由于硬件问题导致的,例如GPU故障或不稳定的电源供应。
2023-06-29 10:07:28 2843
原创 C++——打印字符串
1、C++打印字符串时,可以使用如下代码对于CString格式或字符串数组格式的UNICODE字符,如,有可能打印不完全,因为有些UNICODE字符,第一个字节(前8位)为0,在打印时相当于遇到了结束符,所以结束了,这时可以尝试如下代码。...
2022-06-13 19:33:34 7569
原创 图像处理——不压缩地保存图像
使用cv2.imencode保存图像时,默认会以LZW格式压缩图像,图像质量受损。采用如下方式,可以不压缩地保存图像。
2022-06-09 16:10:16 1799
原创 MySQL——拾遗
1、cmd登录自己电脑上的mysql,mysql -u用户名 -p密码;cmd登录其他电脑上的mysql,mysql -h主机地址 -P端口 -u用户名 -p密码。
2022-05-31 16:21:16 101
原创 MySQL——Navicat连接数据库失败
1、Navicat连接数据库失败,可能与密码、权限有关。报警内容:1251-Client does not support authentication protocol requested by server;consider upgrading MySQL client。解决办法:mysql -uroot -p,打开数据库,输入如下两条命令,问题解决。ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
2022-05-26 11:36:19 6096
原创 pyqt5——splitter
初始化分割比例,如左侧为0,右侧为最大# 当含有QLayout布局时setStretchFactor往往会失效self.splitter.setStretchFactor(0, 0)self.splitter.setStretchFactor(1, 10)# 0和1分别为左右控件的宽度,虽然右侧控件宽度设置为1,但实际会充满整个空间self.splitter.setSizes([0,1])...
2022-05-19 15:17:42 471
原创 Python——获取串口数据
打开设备管理器,双击端口设备,点击端口设置,这里面的参数需要与下面代码中的参数保持一致。import serialimport timeserialport = serial.Serial()serialport.port = 'COM3'serialport.baudrate = 115200serialport.bytesize = 8serialport.parity = serial.PARITY_NONEserialport.stopbits = 1serialport.tim
2022-05-12 19:14:57 4313 2
原创 Python——获取多边形框的最小外接矩形
points = np.array([[0,8],[17,18],[22,10],[5,0]])(cx, cy), (w, h), theta = cv2.minAreaRect(points)代码中,w和h分别指的是哪条边,theta指的是哪个夹角,我们不得而知,现在就进行验证:如图显示,红线和红角分别对应的是w和theta,这样一来就明白了。...
2022-05-10 11:32:53 2382
原创 图像处理——打开DICOM图像
1、运行image=pydicom.dcmread(path).pixel_array时出现如下报错:InvalidDicomError: File is missing DICOM File Meta Information header or the ‘DICM’ prefix is missing from the header. Use force=True to force reading.这是由dicom文件中信息缺失造成的,修改代码如下:image=pydicom.dcmread(path,
2022-05-05 18:15:55 1403
原创 debug——生成word文件报警
1、运行下面代码(截取),生成word文档时,软件报警,报警内容:File "<COMObject Add>", line 8, in SaveAs pywintypes.com_error: (-2147352567, '发生意外。', (0, 'Microsoft Word', '这不是有效文件名。\n请试用下列方法: \n* 检查路径,确认键入无误。\n* 从文件和文件夹列表中选择文件。', 'wdmain11.chm', 24632, -2146823136), None)doc.Sa
2022-04-24 19:48:27 1068 1
原创 C++学习笔记——拾遗
1、指针大小sizeof(int *)为4,sizeof(float *)为4, sizeof(char *)也为4,存放地址4个字节就够了,int、float、char指的是地址上的数据的类型。2、空指针,如int * buf = NULL空指针指向内存编号为0x00000000的地方,此处是不可以读写的,一般用于指针初始化。其实0x00000000~0x000000FF之间的内存都是系统占用的,都不可以读写。3、野指针,如int * buf=(int *)0x000011000x0000110
2022-03-11 14:44:44 988
原创 图像处理——途径不同结果不同
软件开发时采用了两种获取图像的方式,最后都是得到八位彩图,但喂入深度学习模型,结果出现一点偏差,值得注意!方式一:image = cv2.imdecode(np.fromfile(self.mainWin.show2.fileName, dtype=np.uint16), -1)if image.dtype == 'uint16': image = image / 65535 * 255 image = image.astype(np.uint8)if len(image.shape) == 2
2022-02-16 15:41:25 1551
原创 Python——更换pip源
pip install torch:从境外下载模块,速度较慢pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torch:从境内下载模块,速度较快
2022-01-13 15:50:47 212
原创 数据分析——K聚类
import cv2import numpy as npimport matplotlib.pyplot as plt# 创建2个25*2数组X = np.random.randint(25,50,(25,2))Y = np.random.randint(60,85,(25,2))# 按行顺序堆叠数组Z = np.vstack((X,Y))# convert to np.float32Z = np.float32(Z)
2021-12-20 13:02:27 135
原创 debug——GraphicsView相关报警
1、QGraphicsScene::removeItem: item 0x1c2082795f0’s scene (0x0) is different from this scene (0x1c1bc8e2240),这个报警是由场景重复移除同一图元引起。
2021-12-08 20:02:47 609
原创 Python——全局变量与局部变量
在类中,局部变量赋值不会影响全局变量。class C1: def __init__(self): self.v1 = 100 def fun1(self): v1=200 print(v1) def fun2(self): print(self.v1)c1=C1()c1.fun1()c1.fun2()输出结果:200100
2021-12-03 18:06:07 771
原创 Python——类的实例化
在C1中实例化RefreshLabels,并将对象传递给C2和C3,当在C2中改变对象某一变量时,在C3中也可以得到该变量的最新值。class RefreshLabels: def __init__(self): self.rect_labels = []class C1: def __init__(self): self.c2 = C2() self.c3 = C3() self.refreshLabels = RefreshLabels() self.c2.refreshL
2021-12-02 11:13:05 493
原创 图像处理——图像与字符串互转
1、图像转字符串from sys import argvfrom base64 import b64encodefrom json import dumps# 命令行窗口执行python image_to_json.py result.png result.jsonENCODING = 'utf-8' # 指定编码形式SCRIPT_NAME, IMAGE_NAME, JSON_NAME = argv # 获得文件名参数# 读取二进制图片,获得原始字节码,注意 'rb'wit
2021-11-18 15:24:19 1927
原创 Python——super
class FooParent(object): def __init__(self): self.parent = 'I am the parent' print('Parent') def bar(self, message): print("%s from Parent" % message)class FooChild(FooParent): def __init__(self): # 找到FooChil
2021-11-15 18:28:19 786
原创 Python——获取屏幕任意位置像素值
import pyautoguiwhile True: x, y = pyautogui.position() print(pyautogui.screenshot().getpixel((x,y)))
2021-11-09 15:36:43 3230
原创 pyqt5——Dock Widget
1、Widget Box->Containers->Dock Widget,将Dock Widget拖拉至主窗口或左侧或右侧或上侧或下侧,根据需求而定,属性编辑器->QDockWidget->dockWidgetArea,此时dockWidgetArea自动设置为或LeftDockWidgetArea或RightDockWidgetArea或TopDockWidgetArea或BottomDockWidgetArea,为了后续Dock Widget可以拖拉至任意侧,我们将dockWi
2021-11-06 00:51:37 1067
原创 pyqt5——工具栏
1、右击主窗口空白处,点击添加工具栏,则主窗口出现一个工具栏,工具栏可以摆放在上下左右任意位置,也可以接在另一个工具栏后面,还可以与另一个工具栏并排放。2、在编辑窗口部件模式下,在动作编辑器里找到工具按钮,并将工具按钮拖拉至工具栏中。3、动作编辑器里存放的是菜单栏里的工具按钮,有些工具按钮可能已废弃,可以删除。4、在菜单栏里选中工具按钮,属性编辑器->QAction->icon,选择图标,同时在工具栏里选中该工具按钮,属性编辑器->QToolBar->toolButtonSty
2021-11-05 21:44:08 7781
原创 Python——获取不同级别目录
import os# 获取当前目录print(os.getcwd())# 获取上级目录print(os.path.abspath(os.path.join(os.getcwd(), "..")))# 获取上上级目录print(os.path.abspath(os.path.join(os.getcwd(), "../..")))# 获取上上上级目录print(os.path.abspath(os.path.join(os.getcwd(), "../../..")))运行结果:
2021-11-03 15:18:28 743
原创 图像处理——mixup
mixup是图片分类中的一个非常有效的trick, 具体流程如下图所示:简单来讲就是将两张图片通过不同的比例进行融合,同时图片对应的one-hot编码也以相同的比例相乘,从而构造出新的数据集。 本质上,mixup在成对样本及其标签的凸组合(convex combinations)上训练神经网络,可以规范神经网络,增强训练样本之间的线性表达。 其优点是:改善了网络模型的泛化能力减少对错误标签的记忆增加对抗样本的鲁棒性稳定训练过程mixup效果受α,β值影响,Beta分布如下图:具体请参考
2021-10-11 15:26:46 1664
原创 pyqt5——编辑样式表
QT样式表即QSS,与web前端的CSS类似,下面介绍几个常用的编辑方法:1、tabWidget为对象名称,前面需要加#,*表示该样式适用于tabWidget下面的每个元素,包括子元素和孙元素等2、>表示该样式只适用于tabWidget下面的子元素3、QPushButton为类名称,前面不需要加#,hover表示鼠标悬停在按钮上时呈现的样式4、设置元素背景颜色或背景图像5、myclass是我们自定义的动态属性,点击绿色加号进行创建,花括号里面的样式适用于myclass属性值为bar2
2021-10-11 10:38:10 1743
利用百度AI接口实现图片文字识别的两种方法.rar
2020-06-22
TPYBoard V102实现超声测距.rar
2020-06-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人