python
多为python一些简单操作
李昂的
这个作者很懒,什么都没留下…
展开
-
解决paddleocr部署过程中lanms-neo安装失败的问题
最近在做paddleocr部署时,在新的机器上部署环境时安装lanms-neo时安装失败,分析了一下error日志,大概是在编译过程中MSVC版本的问题。重新安装了visual stdio 2019后,在进行安装lanms-neo安装成功。原创 2023-03-05 22:14:55 · 572 阅读 · 0 评论 -
python中使用opencv的HSV颜色空间提取物体
把PS中H的值除以2,S乘255,V乘255,可以得到对应的opencv的HSV值。S:saturation饱和度(0~100),形容颜色的深浅,如浅红、大红、深红。opencv中的HSV范围,H是0-180,S是0-255,V是0-255。PS中的HSV范围,H是0-360,S是0-1,V(B)是0-1。V:value色调(0~100),色彩的亮度。H:hue 色相(0~360),红绿蓝。但是HSV颜色空间却规定的是,H范围0。原创 2023-03-05 22:13:24 · 1390 阅读 · 0 评论 -
win10系统下修改conda镜像源
【代码】win10系统下修改conda镜像源。原创 2023-03-05 22:12:10 · 297 阅读 · 0 评论 -
python 上下文管理器
程序的上下文程序上下文,维持程序正常运行所需要的外部变量的值的集合,叫做上下文,上下文是完成一个逻辑涉及的信息。with语句with语句,简化通用资源管理模式,抽象出其功能,有助于编写更清晰的代码。打开文件时,一般使用with语句,这样能够确保打开的文件在程序执行离开with语句时的上下文自动关闭。以上三段代码功能是一样的都是打开文件,使用with语句的打开程序和使用try:…finally的功能是一样的,显然try:…finally语句很冗长。如果不使用with或try,在调用f.write()原创 2022-12-06 10:22:57 · 367 阅读 · 0 评论 -
解决使用keras训练模型Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR报错问题
根据上面分析的原因修改了batchsize也是异常,然后查找了一下相关资料,一般情况下,如果不加以限制,很多深度学习框架的代码在运行的时候会申请整个显存空间,即便它不需要这么多的资源,但是它申请了之后就不允许其他的程序使用,所以在这种状态下运行代码,就会出现显存不够用的问题,所以只要分配一下模型训练的显存分配策略就可以。使用keras训练模型时异常报错,根据日志分析大概是显存益处问题,通过watch -n 1 nvidia-smi 观察显存使用情况,也发现当模型训练时显存会突然爆增,然后进程就挂掉了。原创 2022-11-14 21:45:40 · 422 阅读 · 0 评论 -
python图像三通道和单通道互转
当处理是一纬数组时,可以插入一个纬度变成二纬,这个纬度可以插入在x轴(axis=0)或y轴(axis=1)位置,当插入在x轴原来的一纬数组数据变为列方向数据,当插入在y轴原来的数组变成行方向数据。array([ 1, 2, 3, 11, 22, 33, 44, 55, 66]) #对于一维数组拼接,axis的值不影响最后的结果。三通道转单通道很简单,使用cv2读取图像的时候指定读取图像格式为。下面是关于cv2.imread()函数的参数。下面是关于这个函数axis插入纬度的一些理解。原创 2022-10-26 22:48:15 · 5724 阅读 · 0 评论 -
解决python opencv中imshow显示黑色图像问题
在ubuntu18.04下使用cv2.imshow显示图像时,显示的是黑色图像,不能正常显示,如下图所示。若以上方法不能解决,则可能使显示图像过大,窗口不能完全显示,可尝试。添加摧毁所有窗口后,重新运行代码显示正常。具体原因为显示窗口时没有添加。......原创 2022-08-30 10:06:46 · 4166 阅读 · 2 评论 -
解决OSError: [Errno 98] Address already in use问题
学习python socket编程,运行服务器端时报错OSError: [Errno 98] Address already in use。查看绑定正在使用的端口号,可以看到12345端口号被963进程占用,这里需要加上sudo或者切换到管理员用户运行,否则不显示PID。杀掉该进程即可,其中963为进程的端口号,再次运行socket服务运行正常。......原创 2022-08-16 16:13:24 · 7978 阅读 · 0 评论 -
ubuntu安装完tensorrt后在conda虚拟环境调用
查找了相关资料使用tar的方式安装tensorrt后,如果要在虚拟环境中调用tensorrt需要将python中的dist-packages中的tensorrt文件复制到虚拟环境下的site-packages。但是在虚拟环境中import tensorrt后显示ModuleNotFoundError: No module named ‘tensorrt’,print(tensorrt)模块也找不到。使用tar的方式安装完tensorrt后系统的python下调用tensorrt 输出版本号正常。...原创 2022-08-16 13:37:39 · 522 阅读 · 1 评论 -
解决ubuntu18.04下pycharm无法输入中文注释问题
1、打开pycharm,点击工具栏Help菜单中的Edit Custom VM Options选项,会打开pycharm64.vmoptions文件。在ubuntu18.04中,使用是的Pycharm 2022.1(Community Edition),经过尝试该方法有效,其他版本可以自行尝试。在ubuntu18.04下使用pycharm添加中文注释会在注释下面出现一条下划线,按回车后字体消失,经过查找资料使用以下方法能够解决该问题。...原创 2022-08-15 13:44:15 · 633 阅读 · 0 评论 -
解决pycharm调试断点无效跳过断点运行问题
查找了相关资料,打开settings(快捷键ctrl+shift+s)后选择Build,Execution,Deployment中的Python Debugger勾选Gevent compatible后保存,断点有效,可以正常调试。使用pycharm调试paddle inference程序打断点后Debug无效,程序无视了断点,显示如下。......原创 2022-08-03 15:44:30 · 3326 阅读 · 0 评论 -
解决ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory问题
在虚拟环境pytho3.6、cuda10.2中使用pip安装tensorflow-gpu==1.14运行报错,ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory,查找了相关资料说是tensorflow和cuda版本不匹配问题,但是我已经安装了cuda10.2重新安装比较麻烦。卸载环境中pip安装的tensorflow-gpu,使用conda安装后程序运行正常,完美解决。cond原创 2022-05-07 14:37:46 · 1593 阅读 · 0 评论 -
解决qt.qpa.plugin: Could not load the Qt platform plugin “xcb“问题
安装Qtpy后运行程序报错,经过反复查找资料调试后还是不能运行,最后发现是版本不匹配问题。(darknet) cv@cv-System-Product-Name:~/wankou_detect_5_6_batch4$ python script.py Traceback (most recent call last): File "script.py", line 1, in <module> from PyQt5 import QtWidgetsImportError: /h原创 2022-05-07 11:32:39 · 11120 阅读 · 7 评论 -
解决爬虫中文数据乱码问题
常见的问题在爬虫爬取数据过程中直接爬取数据中文字符出现乱码现象经过查找资料发现,网页返回的字符集和爬取下来后转换编码不一致,这必然会引起来乱码,当源网页编码和抓取下来后程序直接使用处理编码一致时,则不会出现乱码,此时在进行统一的编码则可以完美的显示。print(response.encoding) #查看网页返回的字符集类型print(response.apparent_encoding) #自动判断字符集类型常见的编码最早的编码是iso8859-1和ascii编码类似,iso8859-原创 2022-02-11 15:52:54 · 10229 阅读 · 1 评论 -
python中的zip函数
zipzip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。我们可以使用 list() 转换来输出列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。#以下是使用zip的方法re_ip_address = ['115.231.5.230', '114.239.147.135', '123.163.97.18', '223.243.255.167', '原创 2021-11-05 11:26:06 · 1027 阅读 · 0 评论 -
python 使用os.mkdir创建目录失败
问题今天使用 python os.mkdir创建目录时遇到的一个小问题:if not os.path.exists(out_dir): os.makedirs(out_dir)结果提示错误: File "demo3.py", line 45, in main os.mkdir(out_dir)FileNotFoundError: [Errno 2] No such file or directory: '/home/cv/mmdetection/outputs/ps_...原创 2021-08-04 09:31:54 · 2179 阅读 · 0 评论 -
使用xlsxwriter库将数据存储到excel
xlsxwriter库将数据存储到excel功能强大:支持字体设置、前景色背景色、border设置、视图缩放(zoom)、单元格合并、autofilter、freeze panes、公式、data validation、单元格注释、行高和列宽设置支持大文件写入不支持读取、修改、XLS文件、透视表Xlsxwriter官方文档import xlsxwriterdef writeexcel(): workbook = xlsxwriter.Workbook('excel.xlsx')原创 2021-08-30 17:02:39 · 1929 阅读 · 0 评论 -
python守护线程
启用守护线程守护线程,又称后台线程,它是在后台运行的,如果所有前台线程都死亡,那么后台线程就会自动死亡。import threadingdef run(n): for i in range(n): print(threading.current_thread().name + " " + str(i))if __name__ == "__main__": t = threading.Thread(target=run, args=(100,), name='后台线原创 2021-08-31 10:52:30 · 3401 阅读 · 0 评论 -
python多线程操作
多线程详解线程也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包含在进行之中,是进程中的实际运作单位。线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属于一个进程的其他线程共享所拥有的全部资源。一个线程可以创建和撤销另外一个线程,同一个进程中的多个线程可以并发执行。为什么要使用多线程1、线程在程序中是独立的、并发的执行。与分隔的进程相比,进程中线程之间的隔离程度要小,它们共享内存、文件句柄和其他进程应有的状态。2、线程的划分尺度小于进程,使得多线程程序的并发性高。进程在原创 2021-08-31 14:04:47 · 465 阅读 · 0 评论