自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 重命名文件夹下所有文件

重命名image文件夹下所有文件,在所有文件后面加上 ‘_1’,并保持文件后缀名不变,即.jpg或.png均不变利用os.rename(before, after)before-要修改的文件路径after-修改后的文件路径import ospath = 'image' # 要修改文件所在文件夹for img in os.listdir(path): name = img.split('.')[0] + '_1.' + img.split('.')[1] # 重命名的名称,在后缀前加

2022-05-10 15:57:31 357

原创 Python Serial串口的简单数据收发

导入模块注意这里模块名是pyserialpip install pyserial1. 打开串口import serialcom = serial.Serial('COM3', 9600)print com2. 发送数据import serialcom = serial.Serial('COM3', 9600)success_bytes = com.write('This is data for test')print success_bytes3. 接收数据(固定长度)imp

2022-04-21 17:08:24 10754 1

原创 ImportError: cannot import name ‘Serial‘ from ‘serial‘ (unknown location)

我的问题是只安装了serial模块实际上应该安装pyserial在cmd环境里运行下面语句即可pip install pyserial

2022-04-17 10:16:34 2613

原创 PyQt5弹出窗口--QInputDialog, QMessageBox, QFileDialog

QInputDialog--弹出输入对话框1. 输入整数2. 输入小数3. 输入文本4. 输入多行文本5. 输入选项 QMessageBox--弹出消息提示框1. 信息2. 问答3. 警告4. 危险5. 关于6.三、QFileDialog--弹出文件对话框前言PyQt5中弹出窗口最常用的三种:输入框、消息提示、文件夹对话框,下面详细介绍这三大类。一、QInputDialog–弹出输入对话框1. 输入整数# 后面四个数字的作用依次是 初始值 最小值 最大值 步幅value

2022-04-12 10:34:24 17722 8

原创 PyQt5实现文件夹下图片依次显示

轮流显示 images 文件夹下图片import sysfrom PyQt5.QtGui import *from PyQt5.QtWidgets import *from PyQt5.QtCore import *import osimport timeclass QpixmapDemo(QWidget): def __init__(self, parent=None): super(QpixmapDemo, self).__init__(parent)

2022-04-03 15:11:04 1671 1

原创 PyQt5实现按键显示文件夹中图片

设置了一个openimage按钮,实现按下按钮即可显示 img_path 路径的图片。import sysfrom PyQt5.QtGui import *from PyQt5.QtWidgets import *from PyQt5.QtCore import *class QpixmapDemo(QWidget): def __init__(self, parent=None): super(QpixmapDemo, self).__init__(parent)

2022-04-03 11:11:27 4824 3

原创 力扣中的滑动窗口

题目一:3. 无重复字符的最长子串给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。思路:窗口起始位置为start,结束位置为end,都在0,利用哈希表判断窗口内是否有重复字符,若有,则 len(窗口) != len(set(窗口)),将 start 后移一位,利用长度和 s 相同的 count 列表记录最长长度。代码:class Solution:

2022-03-26 16:31:39 177

原创 力扣中的双指针

题目一:26. 删除有序数组中的重复项给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。将最终结果插入 nums 的前 k 个位置后返回 k 。不要使用额外的空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外

2022-03-25 23:06:09 93

原创 力扣中的动态规划问题

题目一:剑指 Offer 10- II. 青蛙跳台阶问题一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。思路:本质是斐波那契数列。设跳上 n 级台阶有 f(n) 种跳法。在所有跳法中,青蛙的最后一步只有两种情况: 跳上 1 级或 2 级台阶。当为 1 级台阶: 剩 n-1 个台阶,此情况共有 f(n-1) 种跳法;当为 2 级台阶: 剩 n-2

2022-03-22 17:38:51 363

原创 力扣中的二叉树

题目一:剑指 Offer 04. 二维数组中的查找在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2022-03-21 14:48:25 97

原创 力扣中的二分法

题目一:剑指 Offer 53 - I. 在排序数组中查找数字 I统计一个数字在排序数组中出现的次数。示例:输入: nums = [5,7,7,8,8,10], target = 8输出: 2思路:因为数组是排序过的,所以只需要找到数字的开始位置和结束位置,相减加一即可。遍历一遍需要的时间复杂度时O(n),而利用二分法统计需要的时间复杂度为O(log(n))。进行两次二分法,分别找出数字的结束位置后一个right和开始位置前一个left。代码:class Solution: d

2022-03-20 16:46:58 180

原创 力扣中的哈希表

题目一:找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3思路:哈希表中没有重复元素,所以当某数存在于哈希表中,则该数重复代码:class Solution: def findRepeatNumber(self, nums: List[int]) -&gt

2022-03-20 15:41:11 454

原创 剑指 Offer 05. 替换空格

题目:实现一个函数,把字符串 s 中的每个空格替换成"%20"示例:输入:s = “We are happy.”输出:“We%20are%20happy.”代码一:常规遍历:class Solution: def replaceSpace(self, s: str) -> str: out = [] # count = 0 for i in range(len(s)): if s[i] == ' ':

2022-03-19 22:28:45 140

原创 python列表转字符串

利用join() 方法:str.join(sequence)s = ['h', 'e', 'll', 'o']out = ''.join(s)输出:str() 函数 只是将对象转化为适于人阅读的形式,不能转换形式。

2022-03-19 22:20:02 977

原创 剑指 Offer 09. 用两个栈实现队列

题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例:输入:[“CQueue”,“deleteHead”,“appendTail”,“appendTail”,“deleteHead”,“deleteHead”][[],[],[5],[2],[],[]]输出:[null,-1,null,null,5,2]思路:栈都是

2022-03-18 22:14:44 62

原创 剑指 Offer 30. 包含min函数的栈

题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。push – 在顶部加入pop – 删除最上面的元素min – 找出栈中最小元素思路:栈就像积木一样,只能在尾部/顶部进行插入和删除操作。因为要求时间复杂度为O(1),min函数里不能用循环,只能采用辅助栈B。A栈中正常添加元素,如果B栈中无元素或添加的那个元素小于等于B栈最上面那个元素,则把元素添加到B中,这样就能保持B栈最上面的元素始终

2022-03-18 21:51:16 820

原创 yolov5-pytorch训练自己的数据集-超详细

零基础基于pytorch利用自己的数据集训练yolov5网络,超详细

2022-03-18 19:12:20 7539

原创 训练yolo的数据集准备

文章目录1. 文件夹说明二、数据集划分代码二、labels生成代码1. 文件夹说明新建一个mydata文件夹专门存放数据的,.xml文件我是用labelImg进行标注的,网上有很多资料,我这里就默认大家都会用了(偷懒.jpg),数据集我是按下面方式存放的,当然其它方式也可以,改一下相关路径就行了。-mydata(主目录)–annotations(一级子目录)–img_lab(一级子目录)—images(二级子目录)(说明:images文件夹放在img_lab文件夹里面,存放图片,annota

2022-03-18 18:16:54 5156 1

原创 python中opencv与PIL图片读取保存及相互转化

1. opencv读取显示图片import cv2img = cv2.imread('img.jpg')cv2.imshow('img', img) # 图片显示cv2.waitKey() # 括号内的输入控制imshow的持续时间其中waitKey()表示等待用户按键,若不加这句,则图片显示一闪而过。cv2读取的图片即img为numpy.ndarray,大小即为(w,h,c)。2. PIL读取显示图片from PIL import Imageimage = Image.open

2022-02-18 15:31:13 8574

原创 python判断文件夹是否存在,不存在则创建

判断名为 dir 的文件夹是否存在,不存在则创建dir_name = 'dir'if not os.path.exists(dir_name): # os模块判断并创建 os.mkdir(dir_name)

2022-02-18 14:43:33 4036

原创 pytorch实现GAN网络及训练自己的数据集

文章目录前言一、GAN网络介绍二、网络训练总结前言前不久在一个项目里面用GAN网络做了一下数据增强,目的就是通过给定的真实图片,得到一些模拟的假图片,达到以假乱真的目的,文章结尾有完整代码。GAN网络论文地址:https://proceedings.neurips.cc/paper/2014/file/5ca3e9b122f61f8f06494c97b1afccf3-Paper.pdf一、GAN网络介绍GAN网络即生成对抗网络,

2022-02-17 10:45:03 20449 59

原创 Python中tqdm模块介绍

Python中tqdm模块介绍

2022-01-15 17:26:41 12396 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除