python
python的学xi记录
吴天德少侠
这个作者很懒,什么都没留下…
展开
-
python使用PIL的Image在图片上写中文漢字
【代码】python使用PIL的Image在图片上写中文漢字。原创 2024-08-08 15:23:57 · 232 阅读 · 0 评论 -
使用python调ffmpeg命令将wav文件转为320kbps的mp3
竟然是mp3的最高采样率,有点低了吧。原创 2024-06-13 09:43:18 · 662 阅读 · 0 评论 -
python使用tqdm实现多重循环可视化
【代码】python使用tqdm实现多重循环可视化。原创 2024-04-30 10:36:58 · 194 阅读 · 0 评论 -
python里面zip*的作用
【代码】python里面zip*的作用。原创 2024-03-22 14:00:26 · 111 阅读 · 0 评论 -
使用python找出2个文件夹中相同文件名的文件
python文件处理原创 2023-03-23 15:26:52 · 1230 阅读 · 0 评论 -
吴恩达machine-learning-specialization2022第2周的optional lab: feature scaling and learing rate
机器学习原创 2022-10-06 22:26:52 · 887 阅读 · 0 评论 -
吴恩达machine-learning-specialization2022第2周的optional lab: multiple linear regression
机器学习原创 2022-10-05 20:43:38 · 598 阅读 · 0 评论 -
吴恩达machine-learning-specialization2022第1周的optional lab
机器学习原创 2022-10-02 22:17:32 · 2525 阅读 · 11 评论 -
python实现cma-es优化算法
优化算法原创 2022-09-28 11:23:00 · 1948 阅读 · 0 评论 -
python实现powell优化算法
优化原创 2022-09-26 16:32:23 · 808 阅读 · 0 评论 -
matplotlib根据2个点在三维空间中画直线
dsada原创 2022-07-08 15:49:25 · 2233 阅读 · 0 评论 -
python按行读取txt文件
python原创 2022-06-09 11:26:04 · 3178 阅读 · 1 评论 -
【不用递归,自定义栈实现DFS走迷宫】
前言这是一道遇到过的面试题,当时我用队列实现BFS写的,我知道这种走迷宫的题目一般都是选递归形式的DFS,但是我内心喜欢BFS,觉得稳扎稳打的BFS更优雅。今天突发奇想,用栈实现了一下DFS。代码# 突发奇想,想用栈写一个走迷宫的dfsclass Solution: def find_path(self,maze:list,start_point:list,end_point:list): ans_path = [] if start_point ==原创 2022-04-16 16:17:58 · 398 阅读 · 0 评论 -
基于python的orb关键点及其匹配
前言orb特征检测和二进制描述符算法采用了定向的FAST检测方法和旋转的BRIEF描述符。代码from skimage import transform as transformfrom skimage.feature import (match_descriptors,ORB,plot_matches)from skimage.color import rgb2grayfrom skimage.io import imreadimport matplotlib.pyplot as plt原创 2022-05-17 09:59:44 · 1182 阅读 · 0 评论 -
使用skimage为图像添加高斯噪声
前言需要增加数据集,对图像进行增广代码from skimage.io import imreadfrom skimage import img_as_floatfrom skimage.util import random_noiseimport matplotlib.pylab as pltimport osif __name__ == '__main__': images_dir = "D:/pycodes/python_image_processing/978178934原创 2022-05-08 16:54:57 · 1179 阅读 · 0 评论 -
PIL.Image查看临近图片的区别
前言比如在视频中查看相邻帧之间的差异代码from PIL import Imageimport osimport matplotlib.pylab as pltfrom PIL.ImageChops import subtract,multiply,screen,difference,addif __name__ == '__main__': images_dir = "D:/pycodes/python_image_processing/9781789343731_Code/ima原创 2022-05-08 16:08:03 · 141 阅读 · 0 评论 -
使用python的PIL.Image进行图像融合
前言需要pip install pillow代码import osfrom PIL import Imagefrom PIL.ImageChops import multiply# 15. alpha混合# out = (1.0-alpha)*image_1 + alpha*image_2file_name1 = "parrot.png"file_name2 = "hill.png"file_path1 = os.path.join(images_dir,file_name1)fil原创 2022-05-08 15:56:00 · 1898 阅读 · 0 评论 -
使用python的PIL.Image在图片上写字
前言需要pip install pillow代码from PIL import Image,ImageDraw,ImageFontimport osif __name__ == '__main__': images_dir = "D:/pycodes/python_image_processing/9781789343731_Code/images" file_name = "parrot.png" file_path = os.path.join(images_dir,原创 2022-05-08 15:21:01 · 1481 阅读 · 0 评论 -
python年月日时分秒
使用python获取当前时间import timenow = time.localtime()year,month,day,hour,minute,second = now.tm_year,now.tm_mon,now.tm_mday, \ now.tm_hour,now.tm_min,now.tm_secprint(year,month,day,hour,minute,second)输出2022 5 6 10 19 3原创 2022-05-06 19:21:34 · 1834 阅读 · 0 评论 -
python批量重命名文件
# 将3d slicer生成的标签的文件名_Segmentation除去import osif __name__ == '__main__': work_dir = "D:/airway_datasets/train_label_nii_enhence" """ 这个文件夹里面的文件名都是: CASE01_seg.nii CASE02_seg.nii ... .原创 2022-03-16 15:05:46 · 1135 阅读 · 0 评论 -
制作带key的npz, numpy数据
import numpy as npfrom PIL import Imageimport matplotlib.pyplot as pltif __name__ == '__main__': savepath = "test.npz" image_path = "a.jpg" image = Image.open(image_path) img = np.array(image) plt.imshow(img,cmap='gray') .原创 2022-02-23 11:01:33 · 1817 阅读 · 0 评论 -
plt保存图片去除白边
aimg = voxel_ndarry[0]print(aimg.shape)plt.axis('off')plt.imshow(aimg,cmap='gray')plt.savefig("a.jpg",bbox_inches='tight',pad_inches=0)原创 2022-02-23 10:44:26 · 3579 阅读 · 1 评论 -
plt显示若干秒自动关闭,并保存图像
plt.ion()plt.imshow(image)plt.title(f'Class:{class_name} Probability:{probability:.3f}')# 保存plt.axis('off')# saveDir+os.path.basename(filepath):d:/test.jpgplt.savefig(saveDir+os.path.basename(filepath)) plt.show(block=False)plt.pause(1) # 显示1.原创 2022-02-15 10:35:01 · 6986 阅读 · 0 评论 -
按行读取txt返回去除换行符的列表
txt长这样代码:val_image_path = "your_datasets/ImageSets/Segmentation/val.txt" # 验证集txt路径 with open(val_image_path,'r',encoding='utf-8') as f: val_image_names = f.read().splitlines()原创 2022-02-14 13:24:44 · 328 阅读 · 0 评论 -
glob匹配多种文件类型
from glob import globdirectoryPath = "C:\\temp\\*." fileExtensions = [ "jpg", "jpeg", "png", "bmp", "gif" ]listOfFiles = []for extension in fileExtensions: listOfFiles.extend( glob( directoryPath + extension ))for file in listOfFiles: .原创 2022-02-11 09:05:07 · 2208 阅读 · 0 评论 -
根据文件名匹配,在png中找出对应的jpg
jpg文件比较多,需要找出png文件from glob import globimport osfrom shutil import copyfilefrom tqdm import tqdmif __name__ == '__main__': segdir = "SegmentationClass/" jpgdir = "JPEGImages0/" # now we are going to find jpg matches seg seglis原创 2022-02-11 09:03:59 · 381 阅读 · 0 评论 -
python获取当前时间
获取年月日、时分秒一、安装datetimepip install datetime二、写代码from datetime import datetimeif __name__ == "__main__": now = datetime.now() suffix = f'{now.year:04d}{now.month:02d}{now.day:02d}{now.hour:02d}{now.minute:02d}{now.second:02d}' print(原创 2022-02-10 15:40:13 · 1270 阅读 · 0 评论 -
将PNG标签中的非0像素值改成0并保存
from PIL import Imageimport numpy as npimport osfrom glob import globfrom tqdm import tqdmdef processPng(image_path): """ 后处理PNG标签,将其转为只包含[0,1]值的图片(在只有背景和1个类别下) """ image = Image.open(image_path) img_array = np.array(image) # 转成numpy数组.原创 2022-01-28 09:29:51 · 3552 阅读 · 1 评论 -
python保存3通道图片为8位深度图
今天遇到一个问题,需要将标签文件png重新处理再保存,但是发现通过普通的cv2.imwrite()或者image.save()保存的都是24位深度图,所以需要重新保存。PIL支持的格式有:而网友的解释是:显然我现在需要的是‘P’格式的png图像import cv2from PIL import Imageimg = cv2.imread(file_path)image = Image.fromarray(cv2.cvtColor(res,cv2.COLOR_BGR2RGB).原创 2022-01-27 14:50:34 · 7073 阅读 · 4 评论 -
python的json与字典转换,Object of type ndarray is not JSON serializable
最近遇到一个需求,需要将图片的数据转成json格式,组成一个类似{}的字典,这里就涉及到2个问题:1. 字典与json的转换在网上一查,如下图,好赶单zie!结果出现:Object of type ndarray is not JSON serializable原来json不认numpy数组,要将其转为list,然后就可以了...原创 2022-01-23 17:37:46 · 1732 阅读 · 0 评论 -
python的print输出居中对齐
print('这条线下后是输出'.center(60,'-'))# your codesprint('输出完毕'.center(64,'-'))原因是vscode上输出太乱了,感觉找不到程序的输出内容原创 2022-01-20 17:33:42 · 3847 阅读 · 0 评论 -
python重命名文件,填0补齐
""" 将opecv无法正常显示的数据存储为jpg格式的数据 """import numpy as npimport matplotlib.pyplot as pltimg_rows = 512img_cols = 512train_imgs = np.load('smallData/trainImages1.npy')imgs = train_imgs.reshape((-1, img_rows, img_cols, 1))imgsave_test = imgs[:5]saveP.原创 2022-01-11 09:03:49 · 1800 阅读 · 0 评论 -
win10安装cython-bbox
直接pip install 安装失败使用:python -m pip install git+https://github.com/yanfengliu/cython_bbox.git安装成功。原创 2021-12-16 16:38:45 · 1246 阅读 · 2 评论 -
numpy.ndarray has the wrong size, try recompiling.
在安装paddledetection测试的时候出现numpy.ndarray has the wrong size, try recompiling.,但是明明依赖已经装好了。出现这个原因是Python 包的版本问题,例如安装了较旧版本的 Numpy,但安装了较新版本的 Pandas。使用pip install numpy -U升级numpy即可...原创 2021-12-16 16:35:57 · 4326 阅读 · 0 评论 -
python中numpy的广播机制
简单来说:如果用(m,n)的矩阵和(1,n)的矩阵做算术运算,那么会将(1,n)的矩阵复制m行;如果用(m,n)的矩阵和(m,1)的矩阵做算术运算,那么会将(m,1)的矩阵复制n列。如果(m,n)与一个实数做算术运算,那么这个实数就会被复制成(m,n)的矩阵。code演示假设现在有各种食物每千克对应的卡路里、蛋白质、脂肪的数量,需要求出对于每种食物来说,卡路里、蛋白质以及脂肪各占比情况。import numpy as np""" 数据情况 """data = np.arr...原创 2021-12-11 13:05:01 · 642 阅读 · 0 评论 -
python+opencv随机画直线
import osimport cv2import numpy as npfrom random import randintimport matplotlib.pyplot as pltdef drawLine(img,cnt=50): """ 随机划线\n cnt: 默认画20条垂直线\n""" # 生成一个随机位置 for i in range(cnt): y1,x1 = randint(0,hight-1),randint(0,.原创 2021-12-08 10:21:40 · 936 阅读 · 0 评论 -
python+mysql数据库连接与查询
假设有一个这样的数据库:我需要用现在有的user_face_code去和数据库里面的做比对,输出符合要求的user_id和user_name:import pandas as pdimport sqlalchemyengine = sqlalchemy.create_engine("mysql+pymysql://root:root@192.168.4.13:3306/aitools")sqlfunc = """select user_id,user_name,user_face_.原创 2021-11-26 13:02:52 · 1032 阅读 · 0 评论 -
根据txt文件复制文件到指定文件夹
import osimport shutildef mycopyfile(srcfile,dstpath): print(srcfile) if not os.path.isfile(srcfile): print ("%s not exist!"%(srcfile)) else: fpath,fname=os.path...原创 2021-11-16 09:53:41 · 1790 阅读 · 0 评论 -
python单例模式+多线程
import threadingimport timeclass Singleton: instance = None lock = threading.RLock() def __init__(self,name): self.name = name def __new__(cls,*args,**kwargs): if cls.instance: return cls.instance .原创 2021-10-19 07:36:42 · 540 阅读 · 0 评论 -
pyqt5的desinger路径
在你的环境名\Lib\site-packages\qt5_applications\Qt\bin\designer.exe里面。例如我的环境是anaconda下的py38这个环境,那么就在:D:\program\anaconda\envs\py38\Lib\site-packages\qt5_applications\Qt\bin\designer.exe原创 2021-10-16 09:12:29 · 372 阅读 · 0 评论