2021-10-23 计算机视觉 立体视觉计算视差图 立体视觉计算视差图 stereo vision一、实验原理1、立体图像立体视差也就是立体视像,是基于双眼视差所获得的深度知觉。所谓立体图像,其实就是有两台水平的相机对同一场景进行观测,这时,得到的两幅图像就有了相同的图像平面,图像的行是对齐的。参考图如下所示: 原理图1.jpg 由于采用的图像是官网提供的图片,是已经矫正过的,所以这两幅图就可以看成是理想的。根据偏移可以计算出深度,公... 阅读全文…
2021-10-18 排序算法 排序算法之快速排序 快速排序–一种使用D&C的排序算法算法原理 快速排序是对冒泡排序算法的改进,基本思想是:选择一基准元素,以此将剩余元素中的小于该基准元素的值放在左边,大于该基准元素的值放在右边;然后再在左侧序列和右侧序列做同样的处理操作;以此类推,直至各个序列都剩余一个元素时,即排序完成。 算法实现步骤 首先设定一基准值(pivot),通过该基准值将待排序序列分成左右两部分。 将小于或等于基准值的元素放在序列左边,将大于基准值的元素放在序列的右边。此时左边序列的元素都是小于基准值的,右边的元素都是大于基准值的,这个基准值就叫做分区(partition)操作。 此时,左边和右边的序列均可看作是新... 阅读全文…
2021-10-16 机器学习算法 LDA线性判别分析 LDA线性判别分析基本概念线性分类: 指存在一个线性方程可以把待分类样本分离开,或者用一个超平面将正负样本分开,表达式为$$y=w^\mathrm T+b$$所谓超平面即是区分样本点的一个决策面,在二维世界中,可以理解为一条直线,如一次函数。非线性分类: 指不存在一个线性分类能将样本分隔开,可以是一个曲面,也可以是多个超平面的组合。 LDA思想核心思想:类内小,类间大线性判别分析(Linear Discrimination Analysis, LDA)是一种监督学习的线性降维方法,即每个样本都是由类别的输出。其主要思想是”投影后类内方差最小,类间方差最大“,我们知道,对于一组数据来说,均... 阅读全文…
2021-10-16 排序算法 排序算法之选择排序 排序算法之选择排序数组数据在内存中的顺序是连续的,在使用时需要向计算机申请分配一定的内存空间,如果申请的空间一定,再加入新的数据时如果当前空间不足需要重新向计算机申请;同样,如果先前申请了大量的空间,但在使用过程中并没有被用到,则会造成空间的浪费。 术语数组的元素带编号,编号从0开始,这个位置叫做索引,故说:”元素a位于索引1处“,在元素读取和插入时有以下特征: 数组和链表操作.png ... 阅读全文…
2021-10-09 计算机视觉 Camera-calibration 相机标定一、前提准备1、伪硬件 名称 数量 标定板8×10 1 手机 1 待标定照片 12 支架 1 手机固定在支架上,调整标定板位置,对其从不同角度进行拍照,所拍摄照片为11张。保存到文件夹后对其进行依次命名:*.jpg(如:1.jpg) 2、软件 使用的编程语言:python 工具包:opencv, numpy, glob 二、寻找标定棋盘并进行标定1、python + opencv 的方案 利用opencv寻找棋盘,所用到的函数如下: cv2.TERM_CRITERIA_MAX_I... 阅读全文…
2021-09-23 C语言 c语言短路求值 C语言学习过程遇到的重点内容记录 何为短路求值?所谓短路求值,其实就是C语言逻辑操作符&&和||的特性,具体特性如下: && 逻辑与&& 逻辑操作符的左操作数总是首先进行求值, 如果它的值为真, 则继续计算右操作数的值, 然后执行与操作得到表达式结果; 如果它的值为假, 根据与操作 有假则假 的性质可以断定该表达式的值为假, 所以不再计算右操作数的值。 || 逻辑或|| 逻辑操作符的左操作数也是首先进行求值, 如果它的值为假, 则继续计算右操作数的值, 然后执行与操作得到表达式结果; 如果它的值为真, 根据或操作 有真则真 的性质可以断... 阅读全文…
2021-09-21 学习笔记 Git学习笔记 本地提交到远程的步骤以及命令首先新建一个文件test.txt,在Git bash中键入命令12345git add test.txtgit commit -m 'add a new file test.txt'git push origin maingit pull orgin main 在GitHub中就能看到提交的文件以及相关记录了。 阅读全文…
2021-09-19 个人博客 Hexo文章置顶 文章默认是按照时间的顺序逆序排列的,即新发布的会出现在前面,但考虑到有些文章的需要置顶显示,所以想增加文章置顶功能。 对node_modules/hexo-generator-index/lib/generator.js进行修改需要添加的代码为:12345678910111213posts.data = posts.data.sort(function(a, b) { if(a.top && b.top) { if(a.top == b.top) return b.date - a.date; else... 阅读全文…
2021-09-17 爬虫 豆瓣电影top250 豆瓣电影Top 250原理方法使用的模块chardet模块—判断编码 1Pip install chardet 使用上述命令安装模块 123456789101112131415#如果你的python没有安装chardet模块,你需要首先安装一下chardet判断编码的模块哦import chardetimport urllib#先获取网页内容data = urllib.urlopen('http://www.pythontab.com').read()#用chardet进行内容分析chardit = chardet.detect(data) data1 = urllib.urlopen... 阅读全文…