- 博客(54)
- 收藏
- 关注
原创 计算机视觉——单目相机标定
计算机视觉——单目相机标定文章目录计算机视觉——单目相机标定前言OpenCV相机标定流程1. 数据集2. 角点提取3. 内参外参求解4. 误差评估实验分析前言什么是相机标定:在计算机视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。相机参数可以分为内参和外参。求解内参和外参的过程称之为相机标定。其中内参包括焦距,像主点坐标,畸变参数。外参包括旋转和平移。为什么要相机标定: 计算机视觉的基本任务之一是从摄像机获取
2022-05-24 14:48:09 3746 4
原创 Python计算机视觉——照相机模型与增强现实
Python计算机视觉——照相机模型与增强现实文章目录Python计算机视觉——照相机模型与增强现实1 针孔照相机模型1.1 照相机矩阵1.2 三维点的投影1.3 照相机矩阵的分解1.4 计算照相机中心2 照相机标定3 以平面和标记物进行姿态估计4 增强现实4.1 PyGame和PyOpenGL4.2 在图像中放置虚拟物体1 针孔照相机模型针孔照相机模型(有时称为射影照相机模型)是计算机视觉中广泛使用的照相机模 型。对于大多数应用来说,针孔照相机模型简单,并且具有足够的精确度。在针孔照相机模型中,在光
2021-07-01 22:56:27 2638 5
原创 Python计算机视觉——图像到图像的映射
Python计算机视觉——图像到图像的映射文章目录Python计算机视觉——图像到图像的映射写在前面1 单应性变换1.1 直接线性变换算法1.2 仿射变换2 图像扭曲2.1 图像中的图像2.2 分段仿射扭曲2.3 图像配准3 创建全景图3.1 RANSAC3.2 拼接图像写在前面刚体变换:平移+旋转,只改变物体位置,不改变物体形仿射变换:改变物体位置和形状,但是保持“平直性”投影变换:彻底改变物体位置和形状1 单应性变换单应性变换是将一个平面内的点映射到另一个平面内的二维投影变换。在这里
2021-06-29 12:09:51 3138 4
原创 Python计算机视觉——SIFT特征
Python计算机视觉——SIFT特征文章目录Python计算机视觉——SIFT特征写在前面1 SIFT特征算法步骤1.1 尺度空间的极值检测1.2 特征点定位1.3 特征方向赋值1.4 特征点描述2 实验分析3 关键点匹配4 匹配地理标记图像写在前面Scale invariant feature transform(SIFT),中文含义就是尺度不变特征变换。由于在此之前的目标检测算法对图片的大小、旋转非常敏感,而SIFT算法是一种基于局部兴趣点的算法,因此不仅对图片大小和旋转不敏感,而且对光照、噪声
2021-06-18 22:26:58 2506 1
原创 Python计算机视觉——Harris角点检测
Python计算机视觉——Harris角点检测文章目录Python计算机视觉——Harris角点检测写在前面1 Harris角点检测基本思想2 Harris角点检测公式推导3 实验分析写在前面在传统目标识别中,特征提取是最终目标识别效果好坏的一个重要决定因素,因此,在这项工作里,有很多研究者把主要精力都放在特征提取方向。在传统目标识别中,主要使用的特征主要有如下几类:边缘特征(Canny算子)纹理特征(小波Gabor算子)角点特征(Harris算子)那何为角点?局部窗口沿各方向移动,均
2021-06-07 22:36:26 7835 13
原创 数字图像处理——第十章 图像分割
数字图像处理——第十章 图像分割文章目录数字图像处理——第十章 图像分割写在前面1 点、线和边缘检测1.1 孤立点的检测1.2 线检测1.3 边缘检测2 阈值处理2.1 单一全局阈值2.2 自适应阈值3 区域分割3.1 区域生长3.2 区域分裂与聚合4 分水岭算法写在前面图像分割——以一幅图像作为输入而返回一个或多个区域或亚像素轮廓作为输出。也就是说为得到图像中的物体信息,我们必须进行图像分割,即提取图像中的感兴趣区域。数字图像处理中图像分割的四种方法:边缘检测:检测出边缘,再将边缘像素连接,构成
2021-06-01 11:36:27 3068
原创 数字图像处理——第九章 形态学图像处理
数字图像处理——第9章 形态学图像处理文章目录数字图像处理——第9章 形态学图像处理1 基础知识1.1 形态学图像1.2 二值图像2 腐蚀和膨胀2.1 腐蚀2.2 膨胀3 开操作与闭操作3.1 开操作3.2 闭操作3.3 实验对比4 一些基本的形态学算法4.1 边界提取4.2 空洞填充4.3 凸壳1 基础知识1.1 形态学图像形态学通常指的是生物学的某个分支,常用来处理动物和植物的形状和结构。现在,我们也将这个词用于图像处理中。形态学图像处理就是使用数学形态学的基本运算,由计算机对图像进行分析,以达
2021-05-16 16:52:31 4598 1
原创 数字图像处理——第八章 图像压缩
数字图像处理——第八章 图像压缩文章目录数字图像处理——第八章 图像压缩1 图像压缩1.1 为啥要图像压缩1.2 为啥能图像压缩1.2.1 编码冗余1.2.2 空间冗余1.2.3 时间冗余2 一些基本的压缩方法2.1 霍夫曼编码2.2 行程编码2.3 算数编码2.4 LZW编码3 数字图像水印3.1 简单的可见水印3.2 LSB不可见水印1 图像压缩1.1 为啥要图像压缩图像压缩就是减少表示数字图像需要的数据量。也许你会问,就一张二维图像还减啥数据量,几个G容量能存一大堆。最近刚好在看Android
2021-05-12 23:14:41 3557 14
原创 数字图像处理——第七章 小波和多分辨处理
数字图像处理——第六章 小波和多分辨率处理文章目录数字图像处理——第六章 小波和多分辨率处理写在前面1 多分辨率处理1.1 图像金字塔1.2 多尺度和多分辨率的区别2 小波2.1 连续小波变换2.2 离散小波变换3 python×小波3.1 python小波变换3.2 python小波去噪写在前面先理解下两个概念,小波和多分辨率。小波必然不是这个小波小波是指小区域、长度有限、均值为0的波形。小是指信号具有衰减性,波指信号具有波动性。小波变换类似于傅里叶变换,都是把函数用一组正交基函数展开,选
2021-05-11 17:48:43 3219 10
原创 数字图像处理——第六章 彩色图像处理
数字图像处理——第六章 彩色图像处理文章目录数字图像处理——第六章 彩色图像处理1 彩色模型1.1 RGB彩色模型1.2 CMY 和CMYK彩色模型1.3 HSI彩色模型2 伪彩色图像处理2.1 灰度分层2.2 灰度到彩色的变换3 彩色图像的分割3.1 RGB中的彩色图像分割3.2 彩色边缘检测1 彩色模型1.1 RGB彩色模型RGB模型是工业界的一种颜色标准. 是通过对红(Red)、绿(Green)、蓝(Blue)3种颜色亮度的变化以及它们相互之间的叠加来得到各种各样的颜色。RGB彩色空间对应的坐
2021-05-09 20:39:54 10298 3
原创 数字图像处理——第五章 图像复原与重建
数字图像处理——第五章 图像复原与重建文章目录数字图像处理——第五章 图像复原与重建写在前面1 图像退化/复原过程的模型2 噪声模型2.1 高斯噪声2.2 椒盐噪声3 仅有噪声的复原——空间滤波3.1 均值滤波器3.2 统计排序滤波器3.3 自适应滤波器4 用频率域滤波消除周期噪声5 逆滤波和维纳滤波写在前面图像退化:图像在形成、记录、处理和传输过程中,由于成像系统、记录设备、传输介质和处理方法的不完善,导致图像质量的下降。图像增强:旨在改善图像质量,提高图像的可懂度,更偏向主观判断。即要突出所关心
2021-05-04 15:40:27 3277 1
原创 数字图像处理——第四章 频率域滤波
数字图像处理——第4章 频率域滤波文章目录数字图像处理——第4章 频率域滤波频率域1.傅里叶级数原理1.1.一维傅里叶变换1.2.二维傅里叶变换2.python×傅里叶级数2.1.傅里叶变换后的频谱图3.频率域滤波3.1.低频与高频3.2.频率域滤波步骤3.3.低通滤波器3.4.高通滤波器3.5.低通与高通滤波器实验总结频率域上一章学的灰度变换和空间滤波,主要目的是减少噪声和平滑图像,同时也是在空间域进行的图像增强操作。而这章主要是频率域滤波,滤波的概念在上一章节有涉及到,所以先了解下频率域。频率域是
2021-04-24 11:41:06 1592 1
原创 数字图像处理——第三章 灰度变换与空间滤波
数字图像处理——第3章 灰度变换与空间滤波文章目录数字图像处理——第3章 灰度变换与空间滤波写在前面3.1 灰度变换3.1.1 基本的灰度变换函数图像反转对数变换伽玛变换分段线性变换函数--三种3.1.2 直方图处理直方图均衡化(Histogram Equalization)直方图规定化(Histogram Specification)局部直方图处理3.2空间滤波3.2.1 平滑空间滤波器3.2.2 锐化空间滤波器使用一阶微分进行图像锐化——梯度使用二阶微分进行图像锐化——拉普拉斯算子总结写在前面图像
2021-04-17 15:58:14 2870 11
原创 数字图像处理——第二章 数字图像基础
数字图像处理——第2章 数字图像基础文章目录数字图像处理——第2章 数字图像基础2.1 视觉感知要素2.2 光和电磁波谱2.3 图像感知和获取2.4 图像取样和量化2.4.1 取样、量化和空间、灰度分辨率2.4.2 数字图像表示2.4.3 图像内插2.5 像素间的一些基本关系2.5.1 相邻像素2.5.2 邻接性和相邻的关系2.5.3 距离度量2.6 图像常用的像素级运算2.6.1 阵列与矩阵操作2.6.2 算数操作2.6.3 逻辑操作总结2.1 视觉感知要素关于颜色人类视觉的产生,除了光源对眼睛的
2021-04-10 16:44:09 1232 1
原创 数字图像处理——第一章 绪论
第1章 绪论写在前面1.1 图像、像素及数字图像处理1.2 数字图像处理基本步骤1.3 图像处理的目的、任务与特点1.3.1 图像处理的目的1.3.2 图像处理的任务1.3.3 数字图像处理的特点1.4 数字图像处理的应用写在前面最近开始计算机视觉的基础课程学习,从最先的数字图像处理开始,再到后面的Python 计算机视觉、机器学习等课程。写在博客记录下整个学习过程,也方便后续自己学习。这些课程都是自己边学边实践的记录笔记,如有不足之处,还请大家批评指正。1.1 图像、像素及数字图像处理数字图像:是
2021-04-09 18:23:37 2406 2
原创 CornerNet代码解析——损失函数
CornerNet源码解析——Loss层文章目录CornerNet源码解析——Loss层前言总体损失1、Heatmap的损失2、Embedding的损失3、Offset的损失前言今天要解析的是CornerNet的Loss层源码,论文中Loss的解析在这:CornerNet的损失函数原理总体损失总体的损失函数如下图所示,三个输出分别对应三部分损失,每部分损失有着对应的权重。接下来分别讲述每...
2019-08-28 16:01:09 8791 4
原创 CornerNet:实现demo、可视化heatmap、测试各类别精度
CornerNet:实现demo、可视化heatmap、测试各类别精度文章目录CornerNet:实现demo、可视化heatmap、测试各类别精度前言实现demo方案一方案二可视化heatmap测试各类别精度欢迎大家来讨论关于CornerNet的代码,一起交流,直接评论就好了,我很快回的,不信你试试☎☎☎前言有段时间没有整理自己最近在研究的东西了,但还是感觉时不时要停下来总结一下才能记忆...
2019-08-22 22:30:41 11757 52
原创 TensorFlow学习笔记——实现经典LeNet5模型
TensorFlow实现LeNet-5模型文章目录TensorFlow实现LeNet-5模型前言一、什么是TensorFlow?计算图Session二、什么是LeNet-5?INPUT层C1层S2层C3层S4层C5层F6层OUTPUT层三、搭建过程(代码详解)四、完整源码前言今天学习使用TensorFlow搭建LeNet-5神经网络。也许一些刚入门的同学看到这个标题,就已经蒙了,啥是Tens...
2019-03-31 19:25:37 6047 13
原创 ECCV2018 | 论文阅读CornerNet: Detecting Objects as Paired Keypoints
CornerNet论文阅读——CornerNet: Detecting Objects as Paired Keypoints文章目录CornerNet论文阅读——CornerNet: Detecting Objects as Paired Keypoints前言一、背景介绍二、CornerNet算法流程Corner Pooling为什么要Corner Pooling三、损失函数Headmaps...
2019-03-29 19:53:46 6393 12
原创 CornerNet的配置、训练与测试
CornerNet的配置、训练与测试文章目录CornerNet的配置、训练与测试一、前言二、配置、训练、测试三、遇到的问题一、前言论文地址:https://arxiv.org/abs/1808.01244开源代码:https://github.com/umich-vl/CornerNetCornerNet原理分析:以下纯属个人按照README和Issues的实践记录,如有不当还请大家多...
2019-03-29 19:49:25 12801 139
原创 深度学习——卷积神经网络原理解析
深度学习——卷积神经网络原理解析文章目录深度学习——卷积神经网络原理解析前言一、卷积?神经网络?二、卷积神经网络?三、卷积神经网络的组成层四、卷积层五、池化层六、全连接层七、卷积神经网络的经验参数设置八、References前言卷积神经网络可有效的运用在计算机视觉的经典任务中,例如目标检测、人脸识别等,所以,在进行这些任务时,多半都要运用到这些知识,例如卷积层是如何操作的,池化的方式有哪些,...
2019-03-15 17:02:02 5768 3
原创 深度学习——训练时碰到的超参数
深度学习——训练时碰到的超参数文章目录深度学习——训练时碰到的超参数**一、前言****二、一些常见的超参数**学习率(Learning rate)迭代次数(iteration)batchsizeepoch**三、例子****四、References**一、前言在训练深度神经网络时,会碰到一些超参数,通过观察在训练过程中的监测指标如损失loss和准确率来判断当前模型处于什么样的训练状态,...
2019-02-18 14:41:55 3314
原创 深度学习——数据预处理篇
深度学习——数据预处理篇文章目录深度学习——数据预处理篇**一、前言****二、常用的数据预处理方法**零均值化(中心化)数据归一化(normalization)主成分分析(PCA、Principal Component Analysis)白化(whitening)**三、注意事项****四、References**一、前言深度学习和机器学习一个重要的区别就是在于数据量的大小。就目前的大量实...
2019-02-18 11:18:43 16657 2
原创 目标检测——Faster R-CNN论文阅读
论文阅读——Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks文章目录论文阅读——Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks**一、前言****二、目标检测背景****三、VGG-1...
2019-02-17 11:39:58 20632 8
原创 python脚本——图片重命名、图片合成视频、faster-rcnn画P-R曲线
调试faster rcnn算法实用的python脚本目录调试faster rcnn算法实用的python脚本一、前言二、常用python脚本三、后记一、前言最近在做关于目标检测算法的研究,调试的第一个算法就是faster-rcnn,今天要说的时笔者在跑通这个算法,也就是训练、评估、数据制作等过程中用到的一些简单实用的python脚本,在这里分享出来,写的不好希望大家多多...
2019-01-16 16:53:52 1664
原创 LeetCode刷题记录15——21. Merge Two Sorted Lists(easy)
LeetCode刷题记录15——21. Merge Two Sorted Lists(easy)目录LeetCode刷题记录15——21. Merge Two Sorted Lists(easy)前言题目语言思路源码后记前言数据结构的内容很细,需要翻书阅读。题目今天的题目是关于链表的,给定两个链表,然后合并这两个链表,要求从小到大。语言C...
2018-12-07 21:03:11 383
原创 LeetCode刷题记录14——257. Binary Tree Paths(easy)
LeetCode刷题记录14——257. Binary Tree Paths(easy)目录前言题目语言思路源码后记前言数据结构感觉理论简单,实践起来很困难。题目给定一个二叉树,输出所有的根节点到叶节点的路径(以字符串的形式返回)语言C++思路学了数据结构,所以一看到这种输出路径的,就想到了先序遍历、中序遍历、后序遍历的递归方法。...
2018-12-06 20:27:08 304
原创 LeetCode刷题记录13——705. Design HashSet(easy)
LeetCode刷题记录13——705. Design HashSet(easy)目录LeetCode刷题记录13——705. Design HashSet(easy)前言题目语言思路源码后记前言今天贼热题目今天的题目是关于哈希表的,叫你创建一个哈希表,但是不能用他封装好的。语言C++思路首先他已经指出不能使用封装好的hash...
2018-12-05 23:41:00 433
原创 LeetCode刷题记录12——232. Implement Queue using Stacks(easy)
LeetCode刷题记录12——232. Implement Queue using Stacks(easy)目录LeetCode刷题记录12——232. Implement Queue using Stacks(easy)前言题目语言思路源码后记前言从今天开始学习用C++来打代码(身边的ACM大佬比赛都用C++),虽然已经学习过C和Java了,但是在写的时...
2018-12-04 20:34:54 296
原创 LeetCode刷题记录11——290. Word Pattern(easy)
LeetCode刷题记录11——290. Word Pattern(easy)目录LeetCode刷题记录11——290. Word Pattern(easy)题目语言思路源码后记题目本题输入是两个字符串,输出是true或者false。计算过程为:依照字符串pattern的模板,去看字符串str的格式是否与pattern的相匹配,是则true,否则false...
2018-12-01 09:39:26 658
原创 LeetCode刷题记录10——434. Number of Segments in a String(easy)
LeetCode刷题记录10——434. Number of Segments in a String(easy)目录LeetCode刷题记录9——434. Number of Segments in a String(easy)题目语言思路源码后记题目题目的输入是一个字符串s,输出是一个int型的整数。计算过程为:输出由空白字符切割出的片段数,如图所示,这...
2018-11-29 21:01:38 329
原创 LeetCode刷题记录9——58. Length of Last Word(easy)
LeetCode刷题记录9——58. Length of Last Word(easy)目录LeetCode刷题记录9——58. Length of Last Word(easy)题目语言思路源码后记题目题目的输入是一个字符串s,输出是一个int型的数字。计算过程为:计算输入的字符串的最后一个单词的长度,比如输入“hello world”,最后一个单词就是w...
2018-11-28 21:27:45 332
原创 LeetCode刷题记录8——605. Can Place Flowers(easy)
LeetCode刷题记录8——605. Can Place Flowers(easy)目录LeetCode刷题记录8——605. Can Place Flowers(easy)题目语言思路源码后记题目题目说给定一个数组,数组中只有0或1,1代表此处种了花,0代表此处空闲不种花。种花的规则是相邻之间不能种花,只能隔一下种一个。给定一个整数n,代表这个数组还能...
2018-11-28 00:27:15 583
原创 LeetCode刷题记录7——824. Goat Latin(easy)
LeetCode刷题记录7——824. Goat Latin(easy)目录LeetCode刷题记录7——824. Goat Latin(easy)题目语言思路后记题目题目需要将一个输入的字符串转化为Goat Latin——山羊拉丁语,有三种转化规则: 如果单词的第一个字符是元音字母(aeiou或者AEIOU),那么保留这个单词的原本格式,并在最后加上ma...
2018-11-25 20:11:42 616
原创 LeetCode刷题记录6——696. Count Binary Substrings(easy)
LeetCode刷题记录6——696. Count Binary Substrings(easy)目录LeetCode刷题记录6——696. Count Binary Substrings(easy)题目语言思路后记题目题目给定一个只包含0、1的字符串,要你算出这个字符串中,相同个数的0、相同个数的1组成的连续的子字符串有多少个,比如给定00110011,那么从...
2018-11-25 20:11:01 406
原创 LeetCode刷题记录5——441. Arranging Coins(easy)
LeetCode刷题记录5——441. Arranging Coins(easy)目录LeetCode刷题记录5——441. Arranging Coins(easy)题目语言思路后记 题目题目的意思是它输入一个整数,然后返回能完整的排序几行(例如第一行就1,第二行就2,第三行就3……),返回这个行数。举个例子:加入输入的是5,那么第一行给1个,剩4个;第二...
2018-11-25 20:05:45 285
原创 LeetCode刷题记录4——67. Add Binary(easy)
LeetCode刷题记录4——67. Add Binary(easy)目录LeetCode刷题记录4——67. Add Binary(easy)题目语言思路后记题目今天这题是与字符串相关的,题目如下:题目给出两个字符串a和b,a和b均是只包含0和1的二进制数,我们所要做的就是二进制的加法,例如给定“11”和“1”,那么结果就是“100”.语言Java...
2018-11-25 20:04:49 355
原创 LeetCode刷题记录3——237. Delete Node in a Linked List(easy)
LeetCode刷题记录3——237. Delete Node in a Linked List(easy)目录LeetCode刷题记录3——237. Delete Node in a Linked List(easy)题目语言思路后记 题目今天这题是与链表相关的,题目如下:题目给定一个链表,要求我们删除这个链表中的某一个结点,这个结点是自己输入的,例如...
2018-11-25 20:03:22 260
原创 LeetCode刷题记录2——217. Contains Duplicate(easy)
LeetCode刷题记录2——217. Contains Duplicate(easy)目录LeetCode刷题记录2——217. Contains Duplicate(easy)题目语言思路后记题目今天这题是与数组相关的,题目如下:题目要求我们判断一个整型数组中有没有重复的出现的数,如果有则返回true,如果没有,则返回false。重复多少次都没关系,...
2018-11-25 19:57:37 444
原创 LeetCode刷题记录1——717. 1-bit and 2-bit Characters(easy)
LeetCode刷题记录1——717. 1-bit and 2-bit Characters(easy)LeetCode刷题记录1——717. 1-bit and 2-bit Characters(easy)前言题目语言思路后记 前言从今天开始坚持练习LeetCode上的习题,计划是先做easy,然后逐渐难度和量加大(毕竟代码能力不算出众,一口吃不了胖子),希望自己...
2018-11-25 19:52:23 368
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人