自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 资源 (1)
  • 收藏
  • 关注

原创 CV常见算法

CV常见算法列表图像增强算法nms算法kmeans算法precision、recall、f-score计算方法

2022-04-08 17:14:47 2468

原创 Leetcode笔记整理

本博客主要记录本人练习leetcode中动态规划和二叉树中简单、中等题目的笔记。动态规划maximum-subarrayjump-game

2020-07-30 09:58:13 177

原创 剑指offer笔记整理(python)

本博客借鉴了这篇博客的版面设计,以及部分解题思路,主要用于个人剑指offer的刷题过程中的笔记整理。链表部分(8道)二叉树部分(12道)二叉树基础:前序、中序、后序遍历剑指Offer(四):重建二叉树剑指Offer(十七):树的子结构剑指Offer(十八):二叉树的镜像剑指Offer(二十二):从上往下打印二叉树剑指Offer(二十四):二叉树中和为某一值的路径剑指Offer(三十八):二叉树的深度剑指Offer(三十九):平衡二叉树剑指Offer(五十七):二叉树的下一个结点剑指O

2020-07-15 16:33:59 256

原创 yolov1 v3 SSD

https://www.pianshen.com/article/73171400055/

2020-07-07 13:40:39 88

原创 python解析PDF获取文本和坐标

【代码】python解析PDF获取文本和坐标。

2023-06-14 14:46:52 1003

原创 python-opencv抽取视频帧并去重

opencv-python提取视频帧并去重

2022-09-27 10:51:26 1823 1

原创 新增:求最小数字

"""题目描述:非负整数 A, 整数B从A去掉B个数字,使剩下数字最小。"""def mini(nlist): tmp = 10 idx = -1 for i, ele in enumerate(nlist): if ele < tmp: tmp = ele idx = i return tmp, idxclass Solution: def minimum_num(self, num

2022-04-20 20:51:17 319

原创 CV常见损失函数

CV常见损失函数

2022-04-20 11:23:26 329

原创 剑指offer:最长不含重复字符的子字符串(python)

## 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可## # @param s string字符串 # @return int整型#class Solution: def lengthOfLongestSubstring(self , s: str) -> int: # write code here if len(s) == 1: return 1 length = len(s).

2022-03-25 15:00:55 666

原创 剑指offer:二叉树中和为某一值的路径(一)(python)

# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = None## 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可## # @param root TreeNode类 # @param sum int整型 # @return bool布尔型#class Solution: .

2022-03-12 18:35:54 994

原创 制作coco格式数据集,用于mask rcnn训练

原格式为只包含polypoints的四个顶点,转化为用于训练mask rcnn的coco格式数据集。"""https://github.com/wusaifei/prepare_detection_dataset/blob/master/labelme2coco.py"""import osimport jsonimport numpy as npimport cv2classname_to_id = {"card": 1}def order_points_clock(pts):

2022-03-10 17:45:39 862

原创 TypeError: Object of type ‘int32‘ is not JSON serializable ——已解决

将json写入文件时报错:TypeError: Object of type ‘int32’ is not JSON serializable,网上搜索出的解决方案:重写json.JSONEncoderclass MyEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj, numpy.integer): return int(obj) elif isinsta

2022-03-10 17:39:44 952

原创 快排算法 & 二分查找算法(python)

数组基础:快排算法 & 二分查找算法(python)def binary_search(array, n): left = 0 right = len(array) - 1 while left < right: mid = (left + right)//2 if array[mid] > n: right = mid elif array[mid] < n:

2022-03-07 15:59:38 332

原创 剑指offer:包含min函数的栈(python)

题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。# -*- coding:utf-8 -*-class Solution: def __init__(self): self.stack = [] self.min_stack = [] def push(self, node): # write code here self.stack.append(node)

2022-03-02 14:42:03 348

原创 CV:imgaug数据增强方法

背景CV训练模型时,如果数据缺乏,我们会采用多种数据增强策略,用于增加数据多样性,常用的数据增强策略有亮度增强、翻转、旋转、模糊等方法。本文主要是基于imgaug库函数实施的一种旋转的数据增强策略。代码如下import osimport cv2import randomimport numpy as npimport imgaugimport imgaug.augmenters as iaaseqs = iaa.Sequential([ iaa.Fliplr(0.5),

2022-02-22 18:00:34 666 2

原创 剑指offer_链表_删除链表的结点

剑指offer_链表_删除链表的结点思路:链表基本操作。# class ListNode:# def __init__(self, x):# self.val = x# self.next = None## 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可## # @param head ListNode类 # @param val int整型 # @return ListNode类#class Solution:

2022-02-21 20:17:56 252

原创 CV:利用opencv对图片的亮度增强方法

1. 背景在CV领域,算法工(tiao)程(can)师(xia)经常会遇到训练数据不足或训练数据多样性太少的问题。此时,我们需要通过算法来进行数据扩充或数据增强。数据增强的方法有很多(如翻转、镜像、旋转、亮度增强等),本篇我们来讲一个最常用的数据增强策略:亮度增强。2.亮度增强本篇基于opencv对图片进行亮度增强,闲话少说,直接上代码:import cv2import randomimport numpy as npdef data_augment(image, brightness):

2022-02-18 17:23:53 6488

原创 目标检测后处理之NMS

给定boxes(xmin、ymin、xmax、ymax)、scores、conf_thresh、nms_thresh、topk等参数,对目标框进行非极大值抑制(NMS)操作。闲话少说,直接上代码:import numpy as npdef py_nms_cpu(boxes, scores, nms_thresh): xmin = boxes[:, 0] ymin = boxes[:, 1] xmax = boxes[:, 2] ymax = boxes[:, 3].

2022-02-09 16:17:50 2578

原创 深度学习之激活函数

最近偶然间把近几年常用的一些激活函数打印了出来,发现他们好像啊。代码如下:import numpy as npimport matplotlib.pylab as pltdef Sigmoid(x): return 1./(1.+np.exp(-x))def ReLU(x): return np.maximum(0, x)def ReLU6(x): return np.minimum(6., np.maximum(0, x))def Swish(x):

2021-12-09 15:45:26 2603

原创 从GAN到Cycle gan的理解

从GAN到Cycle gan的理解:GAN的损失函数CycleGAN的原理与实验详解详解GAN代码之简单搭建并详细解析CycleGANCycleGan论文笔记链接描述

2020-09-10 20:02:08 377

转载 牛客网_leetcode_gray-code(动态规划)

题目描述格雷码是一种二进制编码系统,如果任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code)。给定一个非负整数n,表示代码的位数,打印格雷码的序列。格雷码序列必须以0开头。例如:给定n=2,返回[0,1,3,2]. 格雷码的序列为:00 - 0↵01 - 1↵11 - 3↵10 - 2注意:对于一个给定的n,格雷码的序列不一定是唯一的,例如:根据题目描述,[0,2,3,1]也是一个有效的格雷码序列解题思路参考答案class Solution: # @

2020-08-02 10:40:07 164

原创 牛客网_leetcode_scramble-string(动态规划)

题目描述题目给出一个字符串s1,我们可以用递归的方法将字符串分成两个非空的子串来将s1表示成一个二叉树下面是s1=“great”的一种二叉树的表现形式:great↵ / ↵ gr eat↵ / / ↵g r e at↵ / ↵ a t将字符串乱序的方法是:选择任意的非叶子节点,交换它的两个孩子节点。例如:如果我们选择节点“gr”交换他的两个孩子节点,就会产生一个乱序字符串"rgeat".rgeat↵ / ↵

2020-08-02 10:01:21 121

转载 牛客网_leetcode_edit-distance(动态规划)

题目描述给定两个单词word1和word2,请计算将word1转换为word2至少需要多少步操作。你可以对一个单词执行以下3种操作:a)在单词中插入一个字符b)删除单词中的一个字符c)替换单词中的一个字符解题思路:这道题是很有名的编辑距离问题。用动态规划来解决。状态转移方程是这样的:dp[i][j]表示word1[0…i-1]到word2[0…j-1]的编辑距离。而dp[i][0]显然等于i,因为只需要做i次删除操作就可以了。同理dp[0][i]也是如此,等于i,因为只需做i次插入操作就可以了

2020-07-31 10:55:23 165

原创 牛客网_leetcode_minimum-path-sum(动态规划)

题目描述给定一个由非负整数填充的m x n的二维数组,现在要从二维数组的左上角走到右下角,请找出路径上的所有数字之和最小的路径。注意:你每次只能向下或向右移动。Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.Note: You can only move

2020-07-31 10:10:49 113

原创 牛客网_leetcode_climbing-stairs(动态规划)

题目描述你在爬楼梯,需要n步才能爬到楼梯顶部每次你只能向上爬1步或者2步。有多少种方法可以爬到楼梯顶部?You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?解答:和剑指offer这道题一样,变相的斐波那契数列。class

2020-07-31 09:54:08 130

原创 牛客网_leetcode_unique-paths-ii(动态规划)

题目描述继续思考题目"Unique Paths":如果在图中加入了一些障碍,有多少不同的路径?分别用0和1代表空区域和障碍例如下图表示有一个障碍在3*3的图中央。[[0,0,0],[0,1,0],[0,0,0]]有2条不同的路径备注:m和n不超过100.解答:先上代码:## # @param obstacleGrid int整型二维数组 # @return int整型#class Solution: def uniquePathsWithObstacles(se

2020-07-30 11:27:04 136

原创 牛客网_leetcode_unique-paths(动态规划)

题目描述一个机器人在m×n大小的地图的左上角(起点,下图中的标记“start"的位置)。机器人每次向下或向右移动。机器人要到达地图的右下角。(终点,下图中的标记“Finish"的位置)。可以有多少种不同的路径从起点走到终点?解答:因为机器人只能向下和向右移动,机器人当前位置的最大路径数量为其左边和上边两处位置的最大路径之和,然后从起点处进行动态规划(第一行和第一列均为1)。class Solution: def uniquePaths(self , m , n ):

2020-07-30 11:05:55 185

原创 牛客网_leetcode_jump-game-ii(贪心)

题目描述给出一个非负整数数组,你最初在数组第一个元素的位置数组中的元素代表你在这个位置可以跳跃的最大长度你的目标是用最少的跳跃次数来到达数组的最后一个元素的位置例如给出数组 A =[2,3,1,1,4]最少需要两次才能跳跃到数组最后一个元素的位置。(从数组下标为0的位置跳长度1到达下标1的位置,然后跳长度3到数组最后一个元素的位置)参考答案## # @param A int整型一维数组 # @return int整型#class Solution: def jump(sel

2020-07-30 10:23:36 112

原创 牛客网_leetcode_jump-game(贪心)

题目描述给出一个非负整数数组,你最初在数组第一个元素的位置数组中的元素代表你在这个位置可以跳跃的最大长度判断你是否能到达数组最后一个元素的位置例如A =[2,3,1,1,4], 返回 true.A =[3,2,1,0,4], 返回 false.参考答案## # @param A int整型一维数组 # @return bool布尔型#class Solution: def canJump(self , A ): # write code here

2020-07-30 09:54:51 123

原创 牛客网_leetcode_maximum-subarray(贪心)

题目描述请计算给出的数组(至少含有一个数字)中具有最大和的子数组(子数组要求在原数组中连续)例如:给出的数组为[−2,1,−3,4,−1,2,1,−5,4],子数组[−2,1,−3,4,−1,2,1,−5,4],具有最大的和:6.解答:和剑指offer里的连续子数组的最大和一样。## # @param A int整型一维数组 # @return int整型#class Solution: def maxSubArray(self , A ): # write co

2020-07-30 09:14:00 99

原创 剑指offer:跳台阶(Python)

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。分析:变相的斐波那契数列。# -*- coding:utf-8 -*-class Solution: def jumpFloor(self, number): # write code here List = [0, 1, 2] while len(List) < number+1: Li

2020-07-23 09:13:07 153

转载 数组基础--二分查找

二分查找参考解析#!/usr/bin/python# -*- coding: utf-8 -*-def BinarySearch(array,t): low = 0 height = len(array)-1 while low < height: mid = (low+height)/2 if array[mid] < t: low = mid + 1 elif array[mid] &

2020-07-18 09:29:35 78

原创 leetcode--minimum-depth-of-binary-tree

minimum-depth-of-binary-tree参考答案,但是没能通过。。。# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = None## # @param root TreeNode类 # @return int整型#class Solution: def run(self , ro

2020-07-17 21:13:45 103

转载 balanced_cross_entropy

参考代码weights = tf.constant([0.12, 0.26, 0.43, 0.17])cost = tf.reduce_mean(tf.nn.weighted_cross_entropy_with_logits(logits=pred, targets=y, pos_weight=weights))# your class weightsclass_weights = tf.constant([[1.0, 2.0, 3.0]])# deduce weights for

2020-07-16 16:32:18 1076

原创 Densenet

https://github.com/taki0112/Densenet-Tensorflow/class DenseNet(): def __init__(self, x, nb_blocks, filters, training): self.nb_blocks = nb_blocks self.filters = filters self.training = training self.model = self.Dense_n

2020-07-06 16:17:56 102

原创 剑指offer_顺时针打印矩阵

顺时针打印矩阵题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.解题思路最近不太在状态,直接上参考答案吧。# -*- coding:utf-8 -*-class...

2020-04-07 19:59:08 105

转载 剑指offer_数据流中的中位数

数据流中的中位数题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。参考答案1参考答案2代码如下:# -*- coding:utf-8 -*-cla...

2020-04-06 16:45:35 87

原创 剑指offer_二叉树_二叉搜索树的第k个结点

二叉搜索树的第k个结点题目描述给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。解题思路将问题转化为二叉搜索树的中序遍历问题,(5,3,7,2,4,6,8) 的中序遍历形式为(2, 3, 4, 5, 6, 7, 8),中序遍历的第k个值便是第k个节点,详解和参考答案在这里。# -*- coding:u...

2020-04-06 16:10:37 122

原创 剑指offer_回溯法_机器人的运动范围

机器人的运动范围题目描述地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?解题思路看了参考答案,这...

2020-04-06 11:45:36 125

转载 剑指offer_回溯法_矩阵中的路径

回溯法_矩阵中的路径解题思路虽然剑指offer差不多都快看一遍了,但是碰到这道题还是没有头绪。。。还是看大佬的参考答案吧。# -*- coding:utf-8 -*-class Solution: def hasPath(self, matrix, rows, cols, path): # write code here boolmatrix = ...

2020-04-05 21:58:19 96

保存caffemodel的L1范数,并以Output*Input的形式输出来

保存caffemodel的L1范数,并以Output*Input的形式输出来

2018-07-25

空空如也

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

TA关注的人

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