自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 8月leetcode

207.课程表你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]]输出: true解释: 总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能的。示例 2:输入: 2, [[1,0],[0,1]]输出: f

2020-08-07 12:03:48 205

原创 kmaens聚类anchor

#coding=utf-8import xml.etree.ElementTree as ETimport numpy as npdef iou(box, clusters): """ 计算一个ground truth边界盒和k个先验框(Anchor)的交并比(IOU)值。 参数box: 元组或者数据,代表ground truth的长宽。 参数clusters: 形如(k,2)的numpy数组,其中k是聚类Anchor框的个数 返回:ground truth和每

2020-08-03 19:10:31 629

原创 目标检测tips总结

非极大值抑制(NMS)Non-Maximum Suppression就是需要根据score矩阵和region的坐标信息,从中找到置信度比较高的bounding box。对于有重叠在一起的预测框,只保留得分最高的那个。(1)NMS计算出每一个bounding box的面积,然后根据score进行排序,把score最大的bounding box作为队列中首个要比较的对象;(2)计算其余bounding box与当前最大score与box的IoU,去除IoU大于设定的阈值的bounding box,保留小的

2020-08-02 16:25:33 221

原创 leetcode刷题7月

leetcode378 有序矩阵中第k小的元素给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。matrix = [[ 1, 5, 9],[10, 11, 13],[12, 13, 15]],k = 8,思路:二分查找主函数:统计小于当前mid的数量,>k,说明我们找的数<=mid,令right=mid,反之亦然,check函数:1.初始位置在 matrix[n -

2020-07-04 15:50:35 4083

原创 几种图像去噪方法总结

1.基于小波域的小波阈值去噪小波萎缩法是目前研究最为广泛的方法,小波萎缩法又分成如下两类:第1类是阈值萎缩,由于阈值萎缩主要基于如下事实,即比较大的小波系数一般都是以实际信号为主,而比较小的系数则很大程度是噪声。因此可通过设定合适的阈值,首先将小于阈值的系数置零,而保留大于阈值的小波系数;然后经过阈值函数映射得到估计系数;最后对估计系数进行逆变换,就可以实现去噪和重建;而另外一种萎缩方法则不同,它是通过判断系数被噪声污染的程度,并为这种程度引入各种度量方法(例如概率和隶属度等),进而确定萎缩的比例,所以这

2020-06-12 00:29:08 4331 2

转载 python字典实现原理-哈希函数-解决哈希冲突方法

一、 字典的实现原理python中的字典底层依靠哈希表(hash table)实现, 使用开放寻址法解决冲突,哈希表是key-value类型的数据结构, 可以理解为一个键值需要按照一定规则存放的数组, 而哈希函数就是这个规则字典本质上是一个散列表(总有空白元素的数组, python至少保证1/3的数组是空的), 字典中的每个键都占用一个单元, 一个单元分为两部分, 分别是对键的引用和对值的引用, 使用hash函数获得键的散列值, 散列值对数组长度取余, 取得的值就是存放位置的索引哈希冲突(数组的索引

2020-06-12 00:13:18 1976

原创 vivo提前批笔试题记录(6.9)

1.leecode 23 合并k个有序链表合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6K 条链表的总结点数是 N,平均每条链表有 N/K 个节点,因此合并两条链表的时间复杂度是 O(N/K)。从 K条链表开始两两合并成 1条链表,因此每条链表都会被合并 logK次,因此 K 条链表会被

2020-06-11 16:20:49 159

转载 神经网络BN层

一个关于BN层的详细解释https://www.jianshu.com/p/fcc056c1c200

2020-06-05 18:57:40 329

转载 卷积层,池化层和全连接层

https://blog.csdn.net/zfjBIT/article/details/88075569一个很详细的关于卷积层,池化层和全连接层的解释

2020-06-05 18:35:42 239

原创 图像处理100问之python实现part6-图像特征提取及检测专题

图像处理中的特征提取方法1.Deep Learning2.HOG(方向梯度直方图)特征提取2.1 实质2.2.步骤:2.3 特点:3.SIFT(尺度不变特征变换)3.1 SIFT特征提取的实质3.2 步骤3.3 SIFT特征提取的优点3.4 SIFT特征提取的缺点4.HOG与SIFT比较:5. SUTF6.ORB步骤:7.HAAR8.LBP参考链接:1.Deep LearningCNN特征提取相当于在训练一个个filter(过滤器、卷积核),这些filter相当于传统特征提取方法中的检测算子。因此,CN

2020-06-05 00:13:30 910

转载 相机模型详解

相机模型理想透视模型——针孔成像模型四种坐标系实际成像模型数码相机图像拍摄的过程实际上是一个光学成像的过程。相机的成像过程涉及到四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系以及这四个坐标系的转换。理想透视模型——针孔成像模型相机模型是光学成像模型的简化,目前有线性模型和非线性模型两种。实际的成像系统是透镜成像的非线性模型。最基本的透镜成像原理如图所示:其中 u 为物距, f 为焦距,v 为相距。三者满足关系式:相机的镜头是一组透镜,当平行于主光轴的光线穿过透镜时,会聚到一点上,这

2020-06-04 22:48:14 772

原创 VGG16网络模型

他提出了卷积神经网络的深度增加和小卷积核的使用对网络的最终分类识别效果有很大的作用。后两个网络对卷积核的开刀的优化方法也证明了这一观点。在论文的实验中,证明了在大规模图像识别任务中卷积神经网络的深度对准确率的影响。主要的贡献是利用带有很小卷积核(3*3)的网络结构对逐渐加深的网络进行评估,结果表明通过加深网络深度至16-19层可以极大地改进前人的网络结构。网络结构如下网络参数设置输入为的经过去均值处理的224x224大小的RGB图片。卷积核大小均是3x3,步长为1(stride = 1)Paddi

2020-06-04 20:42:09 725

原创 图像信号处理流程

图像信号处理流程一、黑电平校正二、颜色插补三、颜色校正四、Gamma校正五、RGB2YUV六、自动白平衡七、自动曝光、AE评估八、其他参考链接:一、黑电平校正暗电流指传感器在没有入射光的情况下,存在一定的信号输出,这是由于半导体的热运动造成的,它的大小和传感器结构及温度有关,大概每升高9 ℃,其暗电流会增加1 倍。由于每个像素存在不平衡性,因此像素间暗电流也会不一致,造成电流噪声。一般情况下,在传感器中,实际像素要比有效像素多,像素区最靠边的行和列为不感光区,一般用作自动黑电平校正,其平均值作为校正值

2020-06-04 15:27:41 758

转载 HDR与TM

Tone Mapping(色调映射) 认识 - 心沉大海-汇聚成一 - 博客园 https://www.cnblogs.com/cjhd/p/7530440.html

2020-06-04 11:17:34 191

原创 3A算法

3A算法AF自动对焦AE自动曝光AWB自动白平衡3A技术即自动对焦(AF)、自动曝光(AE)和自动白平衡(AWB)。3A数字成像技术利用了AF自动对焦算法、AE自动曝光算法及AWB自动白平衡算法来实现图像对比度最大、改善主体拍摄物过曝光或曝光不足情况、使画面在不同光线照射下的色差得到补偿,从而呈现较高画质的图像信息。采用了3A数字成像技术的摄像机能够很好的保障图像精准的色彩还原度,呈现完美的日夜监控效果。AF自动对焦自动对焦即调节摄像头焦距自动得到清晰的图像的过程,自动对焦技术就是通过调整聚焦镜头的位

2020-06-04 10:47:56 1334

原创 leetcode刷题6月

leecode142 环形链表II给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node index 1解释:链表中有一个环,其尾部连接到第二个节点。思路:先快慢指针判断是否有环,然后

2020-06-04 00:41:29 139

原创 十大经典排序算法总结(c++)

名词解释:n:数据规模 k:桶的个数 In-place:占据常数内存 out-place:占额外内存比较排序:常见的快速排序、归并排序、堆排序、冒泡排序 等属于比较排序 。在排序的最终结果里,元素之间的次序依赖于它们之间的比较。每个数都必须和其他数进行比较,才能确定自己的位置 。优势:适用于各种规模的数据,也不在乎数据的分布,都能进行排序。可以说,比较排序适用于一切需要排序的情况。非比较排序:非比较排序是通过确定每个元素之前,应该有多少个元素来排序。针对数组arr,计算arr[i]之前有多少.

2020-05-26 13:12:06 363

原创 图像处理100问python实现part5

目录0.原始图像47-53.图像形态学操作47.膨胀48.腐蚀49.开运算50 闭运算代码:0.原始图像47-53.图像形态学操作一系列操作基于形状来操作图像,形态学操作通过在图像上应用结构元素来产生输出图像。改变物体的形状,比如腐蚀就是“变瘦”,膨胀就是“变胖”。包括膨胀与腐蚀在内,一系列的这两者各种叠加作用的操作都称为图像的形态学操作。最基础的形态学操作就是腐蚀和膨胀。它包含广泛的应用:1.移除噪声2.孤立一些单独的元素和聚合一些分散的元素3.找到图像中的局部块状或者孔47.膨胀使用

2020-05-21 13:03:15 306

原创 图像处理算法100问python实现-part3

目录32-35 傅里叶变换33.傅里叶变换-低通滤波34.傅里叶变换-高通滤波35.傅里叶变换-带通滤波代码32-35 傅里叶变换32.傅里叶变换(Fourier Transform)傅里叶变换通常用来分离模拟信号或音频信号等连续一维信号。但是,数字图像表示为[0,255]内的离散值,且用H*W的二维矩阵来表示,所以使用二维的离散傅里叶变换处理图像。二维离散傅里叶变换公式如下:I为输入图像,G为频谱图。二维离散傅里叶逆变换从频率分量按照下式复原图像:其中exp(j)为复数,编程时需用绝对值形态。

2020-05-16 16:48:45 502

原创 图像处理算法100问python代码实现part4

目录41-43 Canny边缘检测41. 高斯滤波+求边缘梯度和强度41-43 Canny边缘检测Canny边缘检测是从不同视觉对象中提取有用的结构信息并大大减少要处理的数据量的一种技术,目前已广泛应用于各种计算机视觉系统。边缘检测的一般标准包括:1.以低的错误率检测边缘,也即意味着需要尽可能准确的捕获图像中尽可能多的边缘。2.检测到的边缘应精确定位在真实边缘的中心。3. 图像中给定的边缘应只被标记一次,并且在可能的情况下,图像的噪声不应产生假的边缘。在目前常用的边缘检测方法中,Canny边缘检

2020-05-16 03:58:19 865

原创 图像处理算法100问python代码实现part2

0.1原始图像10.2加了噪声的图像20-23:直方图相关操作输入图像:较暗的图像20.画直方图使用 Matplotlib 来绘制 imori_dark.jpg !直方图显示了不同数值的像素出现的次数。在 Matplotlib 中有 hist() 函数提供绘制直方图的接口。plt.hist(x, bins=10, range=None, normed=False, weights=None, cumulative=False, bottom=None, histtype=‘bar’, a

2020-05-12 03:19:23 318

原创 图像处理100问python实现part1

1.图像通道交换读取图像,然后将 RGB通道替换成BGR 通道。注意, cv2.imread() 的系数是按 BRG顺序排列的!#python实现import cv2# function: RGB > BGRdef BGR2RGB(img): b = img[:, :, 0].copy() g = img[:, :, 1].copy() r = img[:...

2020-04-21 00:36:21 545

原创 AttributeError: module 'scipy.misc' has no attribute 'imread'报错问题

最近在运行代码的时候出现了这个错误AttributeError: module 'scipy.misc' has no attribute 'imread'。scipy的版本问题, 降级到scipy==1.2.1就可以完美解决了。命令如下:pip install scipy==1.2.1...

2020-04-08 23:43:02 127

转载 tf.summary用法

模块内的函数:tf.summary.audio(name, tensor, sample_rate, max_outputs=3, collections=None, family=None输出带有音频的summary协议缓冲区。tf.summary.get_summary_description(node_def)根据给定的TensorSummary node_def检索对应的Summa...

2020-04-02 00:02:44 311

转载 TensorFlow优化算法 tf.train.AdamOptimizer 简介

AdamOptimizer是TensorFlow中实现Adam算法的优化器。Adam即Adaptive Moment Estimation(自适应矩估计),是一个寻找全局最优点的优化算法,引入了二次梯度校正。Adam 算法相对于其它种类算法有一定的优越性,是比较常用的算法之一。一、算法流程初始化:更新规则:二、 参数定义__init__( learning_rate=0.0...

2020-04-01 23:21:56 2662

原创 剑指offer

1.栈的压入弹出序列题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)思路:借用一个辅助的栈,遍历压栈顺序,先讲第一个放入栈中,这里...

2020-04-01 02:23:51 206

原创 算法刷题c++记录之算法思想部分

算法思想:一、双指针思想:双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。1.排序数组的两数之和(easy 167)给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以...

2020-03-30 23:51:13 1065

原创 一个小项目

在 linux服务器上运行代码报错:Python3中遇到UnicodeEncodeError: ‘ascii’ codec can’t encode characters in ordinal not in range(128)但是在windows上面运行代码正常。原因是因为:linux系统语言导致的。查看了一下系统环境编码>>> import sys>>...

2020-03-24 23:16:59 111

原创 算法题c++刷题记录之数据结构部分

:1.题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。分析:栈是先进后出,队列是先进先出因此 push的话直接在stack1读入就好了pop的话,需要从stack1压入stack2,再由stack2弹出注意:若stack2是空的,需要从stack1向其压入数据若stack2不空,则须stack2先弹出,空了之后,stack1压入否则会影响元...

2020-02-12 21:28:15 623

原创 python内置函数set()

set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。class set([iterable])参数说明:iterable – 可迭代对象对象;返回值返回新的集合对象。实例以下实例展示了 set 的使用方法:x = set(‘runoob’)y = set(‘google’)x, y(set([‘b’, ‘r’, ‘u’,...

2019-12-15 22:00:54 439

原创 leetcode刷题之第一题:两数之和(python)

leetcode刷题之第一题:两数之和题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以...

2019-11-06 11:58:46 249

空空如也

空空如也

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

TA关注的人

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