python
落花逐流水
从事人工智能,模式识别与智能系统
展开
-
下载B站视频作为PPT素材
从B站下载视频原创 2024-08-26 21:06:37 · 1490 阅读 · 0 评论 -
python读写yaml
YAML,Yet Another Markup Language的简写,通常用来编写项目配置,也可用于数据存储,相比conf等配置文件要更简洁。原创 2023-06-08 20:21:26 · 1750 阅读 · 0 评论 -
OBB的计算python实现
OBB的经典生成算法:使用PCA(主成分分析)。主成分分析有一个关键的线性代数计算步骤,即求解协方差矩阵的特征值和特征向量,这一点必须使用数值分析算法而不能用解题用的基本行变换手段,因为现代程序最大的特点就是干一些枯燥重复的事情——迭代.在这里主要介绍三维的思路,黑盒模型:obb的参数(中心点、三轴向量、三轴半长,以确定一个空间中的矩形)= f(点集)原创 2023-01-31 10:58:24 · 2598 阅读 · 1 评论 -
python 解压zip rar 7z文件
python 解压zip rar 7z文件1、zip等格式文件解压文件2、删除临时文件3、shutil添加解压7z格式文件支持4、rar格式文件解压1、zip等格式文件解压文件使用shutil,支持的压缩文件格式,一般常用解压格式为.zip文件。import shutilprint(shutil.unpack_formats())输出:[('bztar', ['.tar.bz2', '.tbz2'], "bzip2'ed tar-file"), ('gztar', ['.tar.gz',原创 2022-05-09 19:00:06 · 4832 阅读 · 1 评论 -
numpy中的矩阵乘法
numpy中的矩阵乘法import numpy as npmat = np.array([[0.999351, 0.00815139, 0.0350837, 0.392437], [-0.00577338, 0.997712, -0.0673561, -33.0907], [-0.0355525, 0.0671099, 0.997112, 91.4815], [原创 2022-03-23 10:14:49 · 710 阅读 · 0 评论 -
scipy.ndimage.distance_transform_edt
scipy.ndimage.distance_transform_edtcipy.ndimage.distance_transform_edt(input, sampling=None, return_distances=True, return_indices=False, distances=None, indices=None)[source]Exact euclidean distance transform.In addition to the distance transform, the原创 2022-01-23 14:41:16 · 1281 阅读 · 0 评论 -
python中获取python版本号的方法
python中获取python版本号的方法#!/usr/bin/python # 第1种方法import platform print(platform.python_version())# 第2种方法import sys print(sys.version)print(sys.version_info)参考:python中获取python版本号的方法【转】...原创 2022-01-19 16:09:45 · 3271 阅读 · 0 评论 -
python读取excel文件
python读取excel文件因为要真理一些excel中的工作内容,所以想用python脚本完成一下。# -*- coding : UTF-8 -*-# @file : read_excel.py# @Time : 2022/1/14 0014 23:44# @Author : wmzimport pandas as pdif __name__ == "__main__": excel_path = r"E:\学习笔记\xxxx.xlsx" df = pd.rea原创 2022-01-15 00:01:25 · 419 阅读 · 0 评论 -
kmean对3d点聚类
kmean对3d点聚类效果一般# -*- coding : UTF-8 -*-# @file : clustering_3d.py# @Time : 2021-12-22 10:01# @Author : wmzimport randomfrom sklearn import datasetsimport numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dimpo原创 2021-12-24 19:22:02 · 664 阅读 · 0 评论 -
python 字节 数据恢复int或float数据
python 字节 数据恢复int或float数据1.struct.pack()和struct.unpack()1.1 struct.pack(fmt,v1,v2,.....)1.2 struct.unpack(fmt,string)python 中的struct主要是用来处理C结构数据的,读入时先转换为Python的 字符串 类型,然后再转换为Python的结构化类型,比如元组(tuple)啥的~。一般输入的渠道来源于文件或者网络的二进制流。1.struct.pack()和struct.unpack(原创 2021-12-11 17:57:11 · 490 阅读 · 0 评论 -
pip安装权限问题
在win10上遇到pip install 权限问题,报错如下:PermissionError: [WinError 5] 拒绝访问。: 'C:\Users\Administrator\AppData\Local\Temp\网上找到的最多的答案是 添加 --user,即 pip install --user xxx其中xxx是要安装的包名,–user代表的是管理员权限。然而这种方法对我根本不管用。最终解决办法:右键文件夹 Temp–属性–安全–组或用户名 下看到了一些无效的用户名,果断删除,并给有原创 2021-09-19 00:41:21 · 3634 阅读 · 0 评论 -
numpy矩阵反转 np.flip()
numpy.flip(m, axis=None)Reverse the order of elements in an array along the given axis.The shape of the array is preserved, but the elements are reordered.New in version 1.12.0.** Parameters: m: array_like **Input array.** axis: None or原创 2021-08-28 21:41:57 · 2572 阅读 · 1 评论 -
pycharm打开编写ipynb文件
PyCharm中编写ipynb文件首先确认anaconda 中安装了Jupyter notebook.如果是2019版,确保使用PyCharm专业版,Community Edition不包括Jupyter笔记本集成。另一种是在anaconda的cmd里面,输入jupyter notebook启动服务参考: PyCharm中编写ipynb文件...原创 2021-08-28 17:00:22 · 11412 阅读 · 0 评论 -
python 获取系统是 Windows Linux
platform 模块 sys模块Windows上In [1]: import platformIn [2]: platform.system()Out[2]: 'Windows'In [3]: import sysIn [4]: sys.platformOut[4]: 'win32'linux中>>> import platform>>> platform.system()'Linux'>>> import sys&原创 2021-08-27 16:05:51 · 592 阅读 · 0 评论 -
python合并pdf文档
今天一些自己的事情,需要合并pdf文档,网上有福昕阅读器/福昕编辑器合并的方法,但是需要开通会员或者输入激活码。LZ可是程序员,会被合并个pdf难到么。果断:pip install pypdf2自己合并不香么?# -*- coding : UTF-8 -*-# @file : merge_pdf.py# @Time : 2021/6/23 15:27# @Author : wmzimport PyPDF2filenames=['file1.pdf','file2.pdf']原创 2021-06-23 15:49:21 · 146 阅读 · 0 评论 -
python调用tflite模型
制作frozen模型模型制作参考前面的一篇博客《tensorflow 20:搭网络、导出模型、运行模型》。主要就是两层卷积和两层全连接用来识别mnist数据集,保存为frozen模型文件。转换为tflite模型非量化转换转换代码:# -*- coding:utf-8 -*-import tensorflow as tfin_path = "./model/frozen_graph.pb"out_path = "./model/frozen_graph.tflite"# out_path原创 2021-06-21 11:06:30 · 4943 阅读 · 1 评论 -
opencv拟合多边形
用例:std::vector<std::vector<cv::Point>> contours;std::vector<cv::Vec4i> hierachy;cv::findContours(binary, contours, hierachy, cv::RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cv::Point(-1,-1));std::vector<std::vector<cv::Point>> con.原创 2021-06-16 15:41:08 · 2191 阅读 · 0 评论 -
python 统计字符出现次数
参考如下:# -*- coding : UTF-8 -*-# @file : statistic_char_count.py# @Time : 2021/6/14 21:10# @Author : wmzimport osfrom chardet.universaldetector import UniversalDetectordef getFiles(path, suffix): return [os.path.join(root, file) for root, di原创 2021-06-14 22:17:44 · 333 阅读 · 0 评论 -
python 统计txt中的字符类别个数
参考代码如下:# -*- coding : UTF-8 -*-# @file : statistic_char_count.py# @Time : 2021/6/14 21:10# @Author : wmzimport osfrom chardet.universaldetector import UniversalDetectordef getFiles(path, suffix): return [os.path.join(root, file) for root,原创 2021-06-14 21:35:58 · 1006 阅读 · 2 评论 -
newcoder刷题笔记一
newcoder刷题笔记一1、计算a+b2、A+B(2)3、A+B(3)4、A+B(4)5、A+B(5)之前在newcoder上简单刷过几道题,因为没什么经验都是网上搜来的答案,现在汇总一下,以便将来参考。1、计算a+b输入描述: 输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据包括多组。输出描述: 输出a+b的结果示例1输入 1 5 10 20输出 6 30Python3 脚本while True: try:原创 2021-06-12 20:50:36 · 500 阅读 · 0 评论 -
python输入输出练习
在python中,使用内置函数input()可以接收用户的键盘输入。input()函数的基本用法如下variable = input("提示文字")其中,variable为保存输入结果的变量,双引号内的文字用于提示要输入的内容。在python3.x中,无论输入的时数字还是字符都将被作为字符串读取。如果想要接收数值,需要把接收到的字符串进行类型转换。例如,想要接收整型的数字并保存到变量num中,可以使用下面的代码:num = int(intput("please input a number"))原创 2021-06-12 18:32:24 · 611 阅读 · 2 评论 -
python opencv画一张图的最小外接矩形(二)
# -*- coding : UTF-8 -*-# @file : img_seg2line.py# @Time : 2021/6/10 18:14# @Author : wmz# coding=utf-8import cv2import numpy as npimport matplotlib.pyplot as pltimport osdef draw_bbox(img_path, result, color=(255, 0, 0), thickness=8):原创 2021-06-10 23:36:38 · 232 阅读 · 0 评论 -
opencv-python函数汇总
1、cv2.rectangle(img, pt1, pt2, color, thickness, lineType, shift )参数表示依次为: (图片,长方形框左上角坐标, 长方形框右下角坐标, 字体颜色,字体粗细)在图片img上画长方形,坐标原点是图片左上角,向右为x轴正方向,向下为y轴正方向。左上角(x,y),右下角(x,y) ,颜色(B,G,R), 线的粗细如:cv2.rectangle(frame, (int(bbox[0]), int(bbox[1])), (int(bb原创 2021-06-10 19:06:45 · 574 阅读 · 0 评论 -
python opencv画一张图的最小外接矩形
# -*- coding : UTF-8 -*-# @file : radon_line.py# @Time : 2021/6/7 22:15# @Author : wmzfrom scipy import ndimageimport numpy as npimport matplotlib.pyplot as pltimport imageioimport cv2import numpy as npimport osdef DiscreteRadonTransform(原创 2021-06-10 00:16:04 · 369 阅读 · 0 评论 -
python将icdar标注数据旋转4个方向脚本
注意python的 .clone() 操作才可以实现深拷贝。直接赋值会共享内存导致得到错误结果,这一点与c++很不一样。# -*- coding: UTF-8 -*-from PIL import Imageimport osimport cv2from chardet.universaldetector import UniversalDetectordef get_encode_info(file): with open(file, 'rb') as f: de原创 2021-06-09 22:05:00 · 123 阅读 · 0 评论 -
python的map函数
map函数的原型是map(function, iterable, …),它的返回结果是一个列表。参数function传的是一个函数名,可以是python内置的,也可以是自定义的。参数iterable传的是一个可以迭代的对象,例如列表,元组,字符串这样的。这个函数的意思就是将function应用于iterable的每一个元素,结果以列表的形式返回。注意到没有,iterable后面还有省略号,意思就是可以传很多个iterable,如果有额外的iterable参数,并行的从这些参数中取元素,并调用funct原创 2021-06-09 20:36:11 · 211 阅读 · 1 评论 -
conda 环境 cv2.imshow报错
报错如下:cv2.error: OpenCV(4.4.0) /tmp/pip-req-build-dglzv4yn/opencv/modules/highgui/src/window.cpp:651: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian原创 2021-06-07 22:49:56 · 991 阅读 · 0 评论 -
python根据坐标生成mask
# -*- coding : UTF-8 -*-# @file : cvt_xml2mask.py# @Time : 2021/6/2 20:44# @Author : wmzimport cv2import numpy as np# 输入图片imgName = '0001009.jpg'img = cv2.imread(imgName)# 展示原图cv2.imshow("img", img)# 创建掩膜mask = np.zeros(img.shape[:2], d原创 2021-06-02 22:33:48 · 5133 阅读 · 0 评论 -
paddleocr测试结果写到txt
list 和tuple都可以通过下标索引。python tools/infer/predict_rec.py --image_dir="./test/img/" --rec_model_dir="./inference/ch_ppocr_mobile_v2.0_rec_infer/" --cls_model_dir="./inference/ch_ppocr_mobile_v2.0_cls_infer/" --use_angle_cls=True --use_space_char=True --us原创 2021-05-13 23:32:23 · 1679 阅读 · 0 评论 -
Pycharm文件占用C盘空间的问题
最近C盘越来越小,发现.PyCharm2019.3 占内存25.4G.在pycharm启动的时候都会在“用户”目录下创建.Pycharm文件夹,并且随着pycharm的使用,空间也会逐渐增加,占用大量C盘空间,所以将他转移到别的磁盘中。首先将.Pycharm2019.3文件夹剪切到所要放置的其他磁盘中(我放到了D:\Program Files\JetBrains pycharm的安装目录中)然后进入.PyCharm2019.3的bin目录下用记事本打开idea.properties,修改.原创 2021-05-12 19:21:06 · 9119 阅读 · 4 评论 -
opencv-python 将图片标注从原图扣出透视变换后保存
根据标注信息,将指定字段图片从原图中扣出并透视变换到正矩形。import cv2import numpy as npimport xml.dom.minidomimport osdef get_file_list(path, suffix): Filelist = [] for home, dirs, files in os.walk(path): for filename in files: if filename.endswit原创 2021-05-12 13:49:49 · 353 阅读 · 0 评论 -
opencv-python 读写中文路径问题
参考:opencv-python读写含中文的路径opencv-python常规读写图片的代码是(遇到中文路径会读写失败):import cv2image = cv2.imread('test.png', cv2.IMREAD_UNCHANGED)cv2.imwrite('save_test.png', image)可以支持中文路径的读写方式:import cv2image = cv2.imdecode(np.fromfile('中文图片.png'), cv2.IMREAD_UNC原创 2021-05-12 10:46:04 · 2043 阅读 · 2 评论 -
python 对图片按照尺寸分类
对文件夹下的图片,使用opencv读取宽高属性,并按照宽高分文件夹存储。import cv2import numpy as npfrom shutil import copyfile, moveimport osimport timedef get_file_list(path, suffix): Filelist = [] for home, dirs, files in os.walk(path): for filename in files:原创 2021-05-12 09:54:57 · 887 阅读 · 0 评论 -
opencv调用yolo
注意中文路径opencv_python读取图片,miread()会读取失败,使用下面方式读取中文路径图片。img = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), -1) # 读入完整图片,见下面解释img = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), 0) # 读成灰度img = cv2.imdecode(np.fromfile(img_path, dtype=np.uin原创 2021-05-08 12:32:04 · 2020 阅读 · 3 评论 -
c++ python实现最小外接矩形
参考:https://zhuanlan.zhihu.com/p/97855964import numpy as npimport mathEPS = 1e-10# 逆时针旋转# 弧度def rotate_poly(poly: np.array, rad): N, d = poly.shape if N < 3 or d != 2: raise ValueError # center_point = np.asarray([0., 0....原创 2021-04-27 10:32:45 · 610 阅读 · 0 评论 -
python opencv图像增强
图像增强,使用常见算法,比如gamma校正,直方图均衡化等。下面一些代码仅供参考# Gamma correction and the Power Law Transform,伽马校正也称幂律交换;使图像变得更亮或者更暗的方法;# USAGE# python adjust_gamma.py --image images/_L3A4387.jpg# 导入必要的包from __future__ import print_functionimport numpy as npimport ar原创 2021-05-03 22:41:44 · 1440 阅读 · 0 评论 -
Python绘制各种激活函数
# -*- coding : UTF-8 -*-# @file : plot_f1.py# @Time : 2021/4/23 17:33# @Author : wmzimport mathimport numpy as npimport matplotlib.pyplot as plt# set x's rangex = np.arange(-10, 10, 0.1)y1 = 1 / (1 + math.e ** (-x)) # sigmoid# y11=ma...原创 2021-04-23 18:13:36 · 1359 阅读 · 0 评论 -
使用python写xml
工作中需要把PPOCRLabel标注格式转化成需要的xml格式。遇到的问题:1、之前只使用过使用minidom读xml,还没有使用过minidom写xml。2、minidom写xml顺序与写入的顺序不一致问题。参考:Python3.7写入xml文件 保持节点属性顺序不变首先导入模块 from xml.dom.minidom import Document,然后按下ctrl使用鼠标点击minidom进入源码ctrl+F搜索a_names = sorted(attrs.keys())。...原创 2021-04-21 16:03:51 · 1763 阅读 · 2 评论 -
PPOCRLabel标注格式转icdar15格式
在使用PaddleOCR中的标注工具PPOCRLabel标注完样本,需要转换成icdar15标注格式。PPOCRLabel只提供了gen_label.py可以把icdar15格式转换成PPOCRLabel格式。下面自己完成了一下PPOCRLabel格式icdar15格式。# -*- coding : UTF-8 -*-# @file : conver_json_icdar.py# @Time : 2021/4/9 11:24# @Author : wmzimport osi原创 2021-04-10 10:26:35 · 758 阅读 · 0 评论 -
python str和list相互转化
仅记录遇到的问题:将二维的list转一维list以及转string.比如,我有一个2D列表:li = [[0,1,2],[3,4,5],[6,7,8]]我想合并成一个长列表li2 = [0,1,2,3,4,5,6,7,8]或者转换成带有分隔符的字符串:s = "0,1,2,3,4,5,6,7,8"如何做到这一点。就像这样:[ item for innerlist in outerlist for item in innerlist ]将其直接转换为带有分隔符的原创 2021-04-10 10:05:36 · 333 阅读 · 1 评论