自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python实现删除给出链表中的重复元素

一、问题描述删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次例如:给出的链表为1→1→21\to1\to21→1→2,返回1→21 \to 21→2.给出的链表为1→1→2→3→31\to1\to 2 \to 3 \to 31→1→2→3→3,返回1→2→31\to 2 \to 31→2→3.数据范围:链表长度满足 0≤n≤1000 \le n \le 1000≤n≤100,链表中任意节点的值满足 ∣val∣≤100|val| \le 100∣val∣≤100进

2022-03-19 13:38:34 2261

原创 Docker启动过程中出现Got permission denied while trying to connect to the Docker daemon socket问题

一、问题描述在使用docker version出现Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.39/images/create?fromImage=ubuntu&tag=latest: dial unix /var/run/docker.sock:

2022-03-18 19:57:15 791

原创 Docker安装教程

2022-03-18 19:47:43 7171

原创 YOLOV4用训练好的模型实现在测试集上批量画框

很多现存的YOLOV4开源代码是使用单张图片进行测试,下面这个程序可以根据训练好的模型实现对测试集进行批量画框,简单方便。import osimport numpy as npimport copyimport colorsysimport timefrom timeit import default_timer as timerfrom keras import backend as Kfrom keras.models import load_modelfrom keras.layer

2022-03-18 15:28:36 546 1

原创 python实现K-means锚框聚类

根据标签文件XML中目标框的坐标,聚类出合适数据集的锚框,anchors_num = 9,设置聚类出的锚框个数是9个,更改路径即可直接使用。import numpy as npimport xml.etree.ElementTree as ETimport globimport randomdef cas_iou(box,cluster): x = np.minimum(cluster[:,0],box[0]) y = np.minimum(cluster[:,1],box[1

2022-03-18 15:13:44 880 1

原创 python根据x轴、y轴坐标在坐标轴里画出曲线图

python根据x轴、y轴坐标在坐标轴里画出曲线图程序实现:import numpy as npimport matplotlib as mplimport matplotlib.pyplot as plta=[1,2,3,5,6,10]b=[0,3,4,5,7,8]c=[10,9,8,7,6,5,2,0]d=[1,2,3,5,5,6,4,0]plt.title('Title')plt.plot(a, b, color='blue', label='test1')plt.plot

2022-03-01 10:55:12 7023

原创 解决PyCharm出现Unable to save settings:Failed to save settings,Please restart PyCharm

解决PyCharm出现Unable to save settings:Failed to save settings,Please restart PyCharm问题:在使用pycharm的过程中会出现各种问题,其中可能发生的是unbuntu系统重启以后,pycharm出现Failed to save settings,具体问题如下所示;解决办法:找到pycharm的安装目录,然后重启pycharm,使用管理员的身份运行pycharm,重启以后出现加载环境即可使用。sudo ./pycharm.sh

2022-02-24 15:29:07 8861 2

原创 输出数组最小的K个数

题目描述给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组class Solution: def GetLeastNumbers_Solution(self, tinput, k): # write code here if k>len(tinput): return [] tinput.sort(

2021-05-06 15:20:28 195

原创 反转链表

输入一个链表,反转链表后,输出新链表的表头。# -*- coding:utf-8 -*-class ListNode: def __init__(self, x): self.val = x self.next = Noneclass Solution: # 返回ListNode def ReverseList(self,pHead): # write code here if pHead==None or pHe

2021-05-06 15:09:27 52

原创 LeetCode21—— 相同的树

LeetCode21—— 相同的树前言:题目内容:给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入:p = [1,2,3], q = [1,2,3]输出:true示例 2:输入:p = [1,2], q = [1,null,2]输出:false示例 3:输入:p = [1,2,1], q = [1,1,2]输出:false来源:力扣(LeetCode)链接:htt

2021-03-21 13:56:49 94

原创 LeetCode20—— 合并两个有序数组

LeetCode20—— 合并两个有序数组前言:题目内容:给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。示例 1:输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3输出:[1,2,

2021-03-19 14:42:26 123 1

原创 LeetCode19—— 删除排序链表中的重复元素

LeetCode19—— 删除排序链表中的重复元素前言:题目内容:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-listpython实

2021-03-18 14:19:45 80

原创 LeetCode18—— 爬楼梯

LeetCode18—— 爬楼梯前言:题目内容:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶来源:力扣(LeetCode)链接:https://

2021-03-17 14:14:28 88 1

原创 LeetCode17—— x 的平方根

LeetCode17—— x 的平方根前言:题目内容:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sqrtxpython实现:方法一class Solution(object): def mySqrt(self, x): """ :type x: int :rtype: int """ return int(x**0.5)

2021-03-16 17:17:07 91

原创 LeetCode16—— 二进制求和

LeetCode16—— 二进制求和学习目标:题目内容:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-binarypython实现:方法一:先求出二进制对应的十进制,求和以后返回二进制class Solution(object): def addBinary(self, a, b): """ :type a: str :type b: str :rty

2021-03-16 14:29:01 114 1

原创 LeetCode15—— 加一

LeetCode15—— 加一前言:题目内容:给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits =

2021-03-15 15:03:28 93

原创 LeetCode14—— 最后一个单词的长度

LeetCode14—— 最后一个单词的长度前言:题目内容:给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。示例 1:输入:s = “Hello World”输出:5示例 2:输入:s = " "输出:0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/length-of-last-word

2021-03-14 15:19:33 57

原创 LeetCode13—— 最大子序和

LeetCode13—— 最大子序和前言:题目内容:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [0]输出:0示例 4:输入:nums = [-1]输出:-1示例 5:输入:nums = [-10

2021-03-14 13:53:00 63

原创 LeetCode12——外观数列

LeetCode12——外观数列前言:题目内容:给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1) = "1"countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。前五项如下: 要 描述 一个数字字符串,首先要将字符串分割为 最小 数量的组,每个组 都由连续的最

2021-03-13 10:53:02 108

原创 LeetCode11——搜索插入位置

LeetCode11——搜索插入位置前言:题目内容:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0来源:力扣(LeetCode)链接:https://leetco

2021-03-11 14:42:58 53 1

原创 LeetCode10——实现 strStr()

LeetCode10——实现 strStr()前言:题目内容:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/implement-strstrpython实现:方法一:class Solution(object): def strStr(self, haystack, needle): """ :type haystack: str :type needle: str

2021-03-11 13:00:51 86 1

原创 LeetCode9——移除元素

LeetCode9——移除元素前言:题目内容:示例 1:示例 2:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-elementpython实现:方法一:class Solution(object): def removeElement(self, nums, val): """ :type nums: List[int] :type val: int

2021-03-10 14:49:52 53

原创 LeetCode8——删除排序数组中的重复项

LeetCode8——删除排序数组中的重复项前言:题目内容:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array题目解法:class Solution(object): def removeDuplicates(self, nums): """ :type nums: List[int] :rtype: int

2021-03-09 21:13:39 76

原创 python实现图片由RGB空间转成LAB空间

python实现图片由RGB空间转成LAB空间前言:RGB转Lab颜色空间:RGB颜色空间不能直接转换为Lab颜色空间,需要借助XYZ颜色空间,把RGB颜色空间转换到XYZ颜色空间,之后再把XYZ颜色空间转换到Lab颜色空间。RGB与XYZ颜色空间有如下关系:其中m如下:XYZ到LAB的转换公式如下X_(1,) Y_(1,) Z_(1,)分别是X,Y,X线性归一化之后的值,其中f(x)如下:python实现:import numpy as npimport cv2# r

2021-03-09 18:10:00 4244 4

原创 python实现图像自动Gamma校正

python实现图像自动Gamma校正前言:关于Gamma:Gamma校正是对动态范围内亮度的非线性存储/还原算法,即输入值进行的非线性操作,使输出值与输入值呈指数关系;从效果上来说Gamma校正调整图像的整体亮度,没有校正的图像看起来可能会存在过亮或太暗的情况,所以想要图像显示效果更完美,Gamma校正就显得很重要了。Gamma矫正的计算过程如下:output=〖input〗^(1/Gamma)使用上面的指数函数把每个像素的RGB值进行变换。具体执行下列转换公式(假定像素值的取值范围为0

2021-03-09 13:25:38 8492 4

原创 LeetCode7——合并两个有序链表

LeetCode7——合并两个有序链表前言:题目内容:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/mer

2021-03-08 19:31:56 63

原创 LeetCode6——有效的括号

LeetCode6——有效的括号前言:题目内容:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = “()”输出:true示例 2:输入:s = “()[]{}”输出:true示例 3:输入:s = “(]”输出:false示例 4:输入:s = “([)]”输出:false示例 5:输入:s = “{[]}”

2021-03-07 18:24:18 65

原创 LeetCode5——最长公共前缀

LeetCode5——最长公共前缀前言:题目内容:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = [“flower”,“flow”,“flight”]输出:“fl”示例 2:输入:strs = [“dog”,“racecar”,“car”]输出:""解释:输入不存在公共前缀。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-common-pre

2021-03-05 16:15:14 48

原创 批量重命名文件夹中的图片文件

只需要修改相应路径即可直接使用,简单方便!!!!# -*- coding:utf8 -*-import osclass name_jpg(): ''' 批量重命名文件夹中的图片文件 ''' def __init__(self): self.path = r'D:/algorithm/train_resize/xml' #表示需要命名处理的文件夹 def rename(self): filelist = os.listdir.

2021-03-05 11:38:50 315

原创 LeetCode4——罗马数字转整数

LeetCode4——罗马数字转整数前言:题目内容:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/roman-to-integer题目解法:class Solution(object): def romanToInt(self, s): """ :type s: str :rtype: int """ a=['I', 'V', 'X', 'L',

2021-03-05 11:22:32 70

原创 LeetCode3——回文数

LeetCode3——回文数前言:题目内容:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解释:从右向左读

2021-03-05 11:06:05 95 1

原创 LeetCode2——整数反转

LeetCode2——整数反转前言:题目内容:给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例 2:输入:x = -123输出:-321示例 3:输入:x = 120输出:21示例 4:输入:x = 0输出:0来源:力扣(LeetCode)链接:https://leetcode-cn.com/p

2021-03-05 10:59:38 84 1

原创 LeetCode1——两数之和

LeetCode1——两数之和前言:题目内容:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。示例:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。来源:力扣(LeetCode)链接:htt

2021-03-05 10:42:42 81 1

原创 随机划分训练集、测试集

只需要把root_path 的路径修改即可# -*- coding: utf-8 -*-from __future__ import division, print_function, absolute_importimport syssys.path.append('../../')import shutilimport osimport randomimport mathdef mkdir(path): if not os.path.exists(path): .

2021-01-29 18:21:33 266

原创 python实现根据文件名删除文件

根据txt文档里的文件名,删除相关的内容,txt文档里可以是图片的名,也可以是xml名,如下示例;# -*- coding: utf-8 -*-import osdef delete_file(dirname): filelist = os.listdir(dirname) for file in filelist: oldpath = os.path.join(dirname, file) filename = os.path.splitext(.

2021-01-29 18:17:47 2257

原创 根据xml文件中目标坐标计算目标占比、长宽、面积等

下面程序主要用来统计:计算每一个目标在原图中的占比;计算目标的平均长度;计算平均宽度;计算平均面积;计算目标平均占比;# -*- coding:utf-8 -*-import osimport xml.etree.ElementTree as ETimport numpy as np#np.set_printoptions(suppress=True, threshold=np.nan) #10,000,000np.set_printoptions(suppress=True, .

2021-01-25 15:07:52 908

原创 将xml中目标框绘制到原图上

做目标检测的首要前提是对自己的数据了如指掌,有时候使用其他人的数据集,第一时间可能不知道其他人的打标签标准是什么,那么我们可以可视出来目标框,把标签文件里的坐标绘制到原图上,下面程序只需要给定图片、标签和保存位置,就可以直接使用。# -*- coding: utf-8 -*-from __future__ import divisionimport osimport xml.dom.minidomimport cv2import sysimport numpy as np# from im.

2021-01-25 14:59:25 1059

原创 目标检测中计算数据集每一类别框的数量

众所周知,一个好的目标检测模型需要大量的数据来训练,当数据量较多的情况,我们没办法直观看到每一类别的目标框个数,就无法判断类别是否平衡。下面的算法作用就是统计数据集中每一类别的目标框个数,只需要修改xml文件地址就可直接使用。# -*- coding:utf-8 -*-import osimport xml.etree.ElementTree as ETimport numpy as npimport matplotlibfrom PIL import Imagedef parse_ob.

2021-01-25 14:40:36 2889

原创 Residual Attention Network for Image Classification解读

Residual Attention Network for Image Classification论文地址:https://arxiv.org/abs/1704.06904程序地址:https://github.com/koichiro11/residual-attention-network(1)目的:将极深卷积神经网络与注意力机制结合,取得了远超之前网络结构的准确度。(2)贡献1)提出了可堆叠网络结构:与ResNet中的Residual Block类似,并在可堆叠的基本模块中引入了注意力机

2020-07-16 20:27:52 253

原创 Learning Spatial Fusion for Single-Shot Object Detection论文解读

Learning Spatial Fusion for Single-Shot Object Detection(1)目的:不同特征尺度之间的不一致性是基于特征金字塔的单阶段检测的主要缺陷。(2)改进点:提出了新的金字塔特征融合策略,称为自适应空间特征融合(ASFF),通过学习权重参数的方式将不同层的特征融合到一起。(3)网络结构论文中的做法是自适应学习不同尺度上特征融合时的空间权重,主要包括两部分:调节尺寸和自适应融合。1.Feature Resizing以上三个level,在i层level上

2020-07-06 11:42:13 333

空空如也

空空如也

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

TA关注的人

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