- 博客(56)
- 资源 (9)
- 收藏
- 关注
原创 OpenGL环境搭建:Win7 VS2013X64 +freeglut2.8.1+glew1.7.0+gltools
Windows平台搭建篇:方式一:采用Win7 VS2013X64+freeglut-2.8.1+glew-1.7.0+gltools进行搭建。搭建流程如下:1.下载glew-1.7.0:根据自己电脑操作系统位数来选择下载64位还是32位版本的glew。这里还需要把glew的源码下载下来,因为后面的gltools制作静态库时需要用到该源码文件。下载如图所示:2.安装glew-1.7....
2019-06-30 11:29:25
959
转载 OpenGL学习:OpenGL的基本程序解析
下面的代码是《OpenGL超级宝典(第五版)》中的示例代码,基本程序如下:#include <GLtools.h> //OpenGL toolkit:工具箱库——包含一个用于操作矩阵和向量的3D数学库,并依靠GLEW获得OpenGL 3.3中用来产生和渲染一些简单3D对象的函数,以及对平截头体、相机类和变换矩阵进行管理的函数的充分支持。#include <GLShade...
2019-06-29 20:02:36
632
转载 OpenGL学习: 投影矩阵和视口变换矩阵(math-projection and viewport matrix)
转自:https://blog.youkuaiyun.com/wangdingqiaoit/article/details/51589825本文主要翻译并整理自 songhoOpenGL Projection Matrix一文,这里对他的推导思路稍微进行了整理。通过本节可以了解到透视投影矩阵的推导 正交投影矩阵的 推导 视口变换矩阵的推导 zFighting问题投影变换OpenGL最...
2019-06-29 10:49:12
2665
转载 Matlab图像类型转换以及uint8、double、im2double、im2uint8和mat2gray等说明
1. matlab图像保存说明 matlab中读取图片后保存的数据是uint8类型(8位无符号整数,即1个字节),以此方式存储的图像称作8位图像,好处相比较默认matlab数据类型双精度浮点double(64位,8个字节),自然可以节省很大一部分存储空间。 详细来说imread把灰度图像存入一个8位矩阵,当为RGB图像时,就存入8位RGB矩阵中。例如,彩色图像像素大小是400*3
2018-02-06 09:12:30
1175
1
原创 PyCharm中运行Caffe(Win7) —— 用Caffe实现一个神经网络
《这篇这是学习深度学习与计算机视觉》一书7.2节时碰到的相关问题及解决方法的汇总1、“ImportError:No module named caffe”出现这问题是因为缺失Caffe库解决方法:将编译后的Caffe库复制到解析器对应的库路径下https://zhidao.baidu.com/question/1994266803228131147.html
2018-02-05 21:05:20
2858
转载 卷积神经网络——输入层、卷积层、激活函数、池化层、全连接层
卷积神经网络(CNN)由输入层、卷积层、激活函数、池化层、全连接层组成,即INPUT(输入层)-CONV(卷积层)-RELU(激活函数)-POOL(池化层)-FC(全连接层)卷积层用它来进行特征提取,如下: 输入图像是32*32*3,3是它的深度(即R、G、B),卷积层是一个5*5*3的filter(感受野),这里注意:感受野的深度必须和输入图像的深
2018-01-31 19:43:52
1548
原创 Win7X64+VS2013下的Caffe(CPU Only)安装配置
一、环境准备1、操作系统:Win7 64位。2、Visual Studio版本:Visual Studio Ultimate 20133、Anacond:这是一个Python科学计算库,里面集成了很多模块和程序。这里使用是的Anacond2:https://www.anaconda.com/download/#windows4、Caffe源码包下载:从Microsoft官方Gith
2018-01-23 18:45:12
564
原创 插值算法
线性插值1、定义:线性插值法是指使用连接两个已知量的直线来确定在这两个已知量之间的一个未知量的值的方法。2、过程:已知二维直角坐标系中的两点A(x0,y0)与B(x1,y1),要得到[x0,x1]区间内某一位置x在直线上的值。根据图中所示,我们得到两点式直线方程: 解出y的方程,也就是x的未知值,有:这样,上式就可以表示成为:
2018-01-10 16:26:40
14540
转载 【Eigen 2】C++矩阵库 Eigen快速入门
Eigen 是一个基于C++模板的线性代数库,直接将库下载后放在项目目录下,然后包含头文件就能使用,非常方便。Eigen 矩阵定义#include Matrix A; // Fixed rows and cols. Same as Matrix3d.Matrix B; // Fixed rows, dynamic cols.Mat
2017-12-26 16:09:26
7004
原创 【Eigen】VS2012配置Eigen
1、首先,Eigen官网下载Eigen:2、然后,解压文件,解压完成后重命名为eigen3,接着把这个eigen3文件夹整个复制到你想放置的位置,也可不移动。3、接着,打开VS2012,新建一个项目,然后选择”项目”—>”属性” 打开工程的属性页。4、选择”C/C++” —>”常规”,在”附加包含目录”里加入eigen3文件夹的路径。5、最后
2017-12-26 10:27:48
4899
转载 Max Flow / Min Cut 最大流最小割算法学习
最大流/最小割(Max-Flow/Min-Cut)算法,因其可以对能量方程最小化进行求解,在计算机视觉(CV)中有很广泛的应用。之前介绍过的Seam Carving算法(用于图像智能缩放),或是图像分割算法中,经常使用最大流/最小割进行能量方程的最小化求解。1. 最大流/最小割 背景介绍最大流/最小割(Max-Flow/Min-Cut)在解决计算机视
2017-12-08 18:34:58
4374
1
转载 图的遍历之 深度优先搜索和广度优先搜索
深度优先搜索的图文介绍1. 深度优先搜索介绍图的深度优先搜索(Depth First Search),和树的先序遍历比较类似。它的思想:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然后依次从它的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和v有路径相通的顶点都被访问到。 若此时尚有其他顶点未被访问到,则另选一个未被访问的顶点
2017-12-07 09:33:47
322
原创 Awesome Computer Vision
A curated list of awesome computer vision resources, inspired by awesome-php.For a list people in computer vision listed with their academic genealogy, please visit hereContributingPlease
2017-11-23 09:11:16
702
原创 数组
数组是一种类似标准库类型vector的数据结构,但是在性能和灵活性的权衡又与vector有所不同。数组的大小确定不变,不能随意向数组中增加元素。 数组中元素的个数也属于数组类型的一部分,编译的时候维度应该是已知的。也就是说数组的维度必须是一个常量表达式。 不允许使用一个数组为另一个内置类型的数组赋初值,也不允许使用vector对象初使化数组。相反的,允许使用
2017-09-29 21:18:27
239
原创 标准库类型string
using声明命名空间。注意的是头文件中不应该包含using声明,因为在引用头文件时,会将头文件中的内容拷贝到文件中来,如果头文件中包含了using声明,那么可能每一个头文件中都会包含using声明,可能会造成名字的冲突。读入一整行和读入一个词主要的差别可以用getline()函数来实现。对于string类的输入函数,它会自动忽略开头的空白(空格、制表符、换行等等),从第一个真正的字符开始直到
2017-09-24 22:53:59
304
原创 【C++ 模板】 如何根据模版中数据类型做对应操作?
模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。模板是一种对类型进行参数化的工具; 通常有两种形式:函数模板和类模板; 函数模板针对仅参数类型不同的函数;类模板针对仅数据成员和成员函数类型不同的类。使用模板的目的就是能够让程序员编写与类型无关的代码。假定我们希望编写一个函
2017-09-13 19:27:59
5384
2
转载 MATLAB的.mat文件与txt文件的相互转换(mat转txt,数据格式设置)
1. xx.txt转换为xx.matLoad('路径\xx.txt')%加载txt文件,加载成功后,在Workspace中出现与该txt文件同名的变量。%注意:若txt文件名中有“-”字符,则Workspace中变量名中相应字符变为“_”Save('路径\xx.mat','变量名')例:[plain] view plain copy
2017-09-13 11:50:55
58667
4
原创 【计算机视觉】全景相机
1、opencv标定法原文来源 OpenCV http://docs.opencv.org/master/dd/d12/tutorial_omnidir_calib_main.html在这里我只介绍全景相机中单摄像机的标定部分: 第一步,选定一个标定模式,然后拍摄一些图片。Opencv中支持一些种类的模式,像棋盘格和圆形。也可以使用一个名为随机模式的新模式,具体的可以参考
2017-07-31 16:12:55
3763
原创 孙鑫VC++学习:对话框-ONE
对话框分为模态(Modal)对话框和非模态(Modeless)对话框两种。模态对话框是指当其显示时,程序会暂停执行,直到关闭这个模态对话框后,才能继续执行程序中其他任务。非模态对话框显示时,允许转而执行程序中其他任务,而不用关闭这个对话框。对话框也是一种资源,可以在资源视图中新建一个对话框来实现。与对话框相关的是CDialog类,当我们使用类向导时,编译器自动检测出我们添加了一个资源,提示我们是否
2017-07-21 22:14:21
666
原创 Could not find version 8.3 of the MCR. Attempting to load mclmcrrt8_3.dll
将Matlab中的a.m文件打包为一个exe文件,然后在一个新机器上运行的时候弹出了消息:”Could not find version 8.0 of the MCR. Attempting to load mclmcrrt8_0.dll“。解决方法:找到你Matlab所在的安装目录,我这里安装的目录为”D:\MATLAB\R2014a“,然后”/runtime/win64/m
2017-07-08 12:35:59
12642
7
原创 vs2012和Matlab R2014a混合
思路:为了实现C++与Matlab混合编程,采用由m文件构造动态链接库然后在visual studio中调用的方法。系统:Windows 7旗舰版(64位),VS2012旗舰版,Matlab R2014a 1、Matlab中dll文件创建1.1 m文件编写function [y,z] = myadd2(a, b)% dummy function, just to de
2017-06-22 21:15:50
3350
转载 CString,string,char*之间的转换
这三种类型各有各的优点,比如CString比较灵活,是基于MFC常用的类型,安全性也最高,但可移植性最差。string是使用STL时必不可少的类型,所以是做工程时必须熟练掌握的;char*是从学习C语言开始就已经和我们形影不离的了,有许多API都是以char*作为参数输入的。所以熟练掌握三者之间的转换十分必要。以下我用简单的图示指出三者之间的关系,并以标号对应转换的方法。
2017-06-22 19:28:32
450
原创 设置Visual Studio代码折叠
(中文版)工具--选项--文本编辑器--C/C++--格式设置--大纲语句块(英文版)Tools---Options---Text Editor----c/c++---Formatting Automatic outlining of statement blocks 设置为True
2017-06-09 19:56:35
5766
转载 Entrance Pupil AND Exit Pupil
Entrance PupilThe entrance pupil of a system is the imageof the aperture stop as seen from a point on the optic axis in the objectplane.In the illustration, the physical apertureis behin
2017-06-09 10:23:33
1574
转载 Levenberg–Marquardt算法学习
本次是对Levenberg–Marquardt的学习总结,是为之后看懂sparse bundle ajdustment打基础。这篇笔记包含如下内容:回顾高斯牛顿算法,引入LM算法惩罚因子的计算(迭代步子的计算)完整的算法流程及代码样例1. 回顾高斯牛顿,引入LM算法 根据之前的博文:Gauss-Newton算法学习 假设我们研
2017-06-07 11:50:01
2211
转载 Bundle adjustment学习
今天学习了稀疏的光束平差法,基于上一篇博文Levenberg–Marquardt算法学习,这里对学习内容做一个理论梳理。本次内容包括:BA简介BA迭代步长的数学推导稀疏BA迭代步长的算法求解过程1.BA简介 摄像机在静态环境中移动,得到不同时刻拍摄的多幅图像。假设这些图像是同一刚性物体的投影,则可由图像特征对应关系估计出摄像机的运动参数。在计算机视觉中 ,这一过程称
2017-06-07 11:48:20
1278
原创 MATLAB中filter2 conv2 imfilter2 fspecial函数用法
-------------------------------------filter2函数----------------------------------------1、用法B = filter2(h,A,shape) ; %相关(correlation)滤波A:输入图像,h:相关核 假设输入图像A大小为ma x na,相关核h大小为mb x nb,则
2017-03-21 10:31:08
3566
转载 【Computer Vision】计算机视觉相关课程和书籍
Table of ContentsBooksCoursesPapersSoftwareDatasetsTutorials and TalksResources for studentsBlogsLinksSongsBooksComputer VisionComputer Vision: Models, Learning, and Inference - Simo
2017-03-16 09:22:49
6560
原创 OPENCV中Bayer转BGR
Bayer格式是相机内部的原始图片,一般后缀名为.raw,一般bayer格式的图片绿色格式的像素是r和g像素的和。很多软件都可以查看, 比如PS。我们相机拍照下来存储在存储卡上的.jpeg或其它格式的图片,都是从.raw格式转化过来的。如下图,为bayer色彩滤波阵列,由一半的G,1/4的R,1/4的B组成。1、bayer格式插值红蓝算法实现每一个像素仅仅包括了光谱的一
2017-01-04 15:47:24
24703
9
原创 VLFeat + vs 2012配置
系统环境:win7_x64IDE环境:Visual Studio2012,x64一、方法一 配置步骤: 1、下载并解压VLFeat-0.9.14(http://download.youkuaiyun.com/detail/j_d_c/9708990)或者官网下载(http://www.vlfeat.org/) 2、向计算机系统变量下path 添加路径:F:\opencv
2016-12-12 15:54:10
1143
原创 min_element 和max_element
// min_element/max_element example#include // std::cout#include // std::min_element, std::max_elementbool myfn(int i, int j) { return i<j; }struct myclass { bool operator() (int i,int
2016-12-01 09:10:15
395
转载 计算机视觉三大国际会议:ICCV, CVPR,ECCV
ICCV的全称是International Comference on Computer Vision,正如很多和他一样的名字的会议一行,这样最朴实的名字的会议,通常也是这方面最nb的会议。ICCV两年一次,与ECCV正好错开,是公认的三个会议中级别最高的。它的举办地方会在世界各地选,上次是在北京,下次在巴西,2009在日本。iccv上的文章看起来一般都比较好懂,我是比较喜欢的。
2016-12-01 08:40:23
2814
转载 【Panoramic stitching】并查集(disjoint set)结构及源码
1.简述 在实现多图像无序输入的拼接中,我们先使用surf算法对任意两幅图像进行特征点匹配,每对图像的匹配都有一个置信度confidence参数,来衡量两幅图匹配的可信度,当confidence>conf_threshold,我们就认为这两幅图可以拼接,属于一个全景拼接的集合,然后扩展这个集合就可以确定最大的可拼接集合,排除一些无效的图像,然后进行后续的拼接。
2016-11-30 18:37:43
532
原创 计算机视觉中的多视图几何——点与直线的关系
点与直线的关系直线的齐次表示 平面上的一条直线可用形如ax+ by + c = 0的方程表示,α, b和c 的不同值给出不同的直线.因此,一条直线也可以用矢量(a, b, c)T表示.直线和矢盘(α,b,c)τ 不是一一对应的,因为,对任何非零常数k, 直线ax+by+c=0与直线(ka ) x + (kb) y + (kc) = 0相同.因此,对任何非零k,矢量(a, b, c)T与k(
2016-11-28 12:34:28
2340
原创 CMake编译opencv各选项的含义
Table 1: Basic CMake options you will probably needTable 2: Options which introduce features into the library. All of these can be eitherON or OFF. Table 3: Options passed
2016-11-27 17:10:58
8221
原创 opencv RGB三通道分离
如果我们想分离出每个通道的具体值,并且可以演示看出分离的是“红”“绿”“蓝”的效果。可以用如下函数:1、C接口程序: IplImage* img = cvLoadImage("baboon.jpg"); IplImage* rImg=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1); IplImage* gImg=cv
2016-11-26 16:30:43
4335
原创 OpenCV与matlab部分函数的对应关系
1、matlab中的imread相当于OpenCV中的imread(imageFileName, CV_LOAD_IAMGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR):读出的图像信息保持了原有图像的信息(包括通道信息和位深信息);RGB2GRAY相当于imread (imageName, CV_LOAD_IMAGE_GRAYSCALE):单通道灰度图;或用Ma
2016-11-04 10:01:21
2480
转载 2013计算机视觉代码合集
注:下面有project网站的大部分都有paper和相应的code。Code一般是C/C++或者Matlab代码。最近一次更新:2013-9-7一、特征提取Feature Extraction:SIFT [1] [Demo program][SIFT Library] [VLFeat]PCA-SIFT [2] [Project]Affine-SIFT [3] [
2016-11-02 12:52:23
376
OpenGL SuperBible Library.rar
2019-06-30
Construction of panoramic mosaics with global and local alignment 教材
2016-12-02
局部方向模式(LDP)
2015-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人