2012年3月29日
摘要: PMVS对图像进行读写输入时考虑了多种后缀的文件类型,对于jpeg类型用到了jpeglib。1.jpeglib的编译下载源代码下载地址:http://www.ijg.org/,选择windows format file解压源代码,修改源代码中jconfig.vc为jconfig.h添加环境变量PATH,C:\Program Files(X86)\Microsoft Visual Studio9.0\VC\Bin进入jpeg的解压目录,..\..\jpeg8d进入命令提示环境下,输入:vcvars32 回车,这是一个用来设置VC路径环境的批处理编译生成库文件 命令:nmake /f makefi 阅读全文
posted @ 2012-03-29 20:20 拼装小火车 阅读(4937) 评论(0) 推荐(0) 编辑
摘要: 使用pthread的好处在于对于跨平台的程序,无需重写线程部分。目前跨平台的线程库还有,Boost.Thread, Intel TBB里的线程类(与Boost.Thread接口几乎相同),ACE里的活动对象类,ICE里的线程类。PMVS源码在多线程使用pthread,这个库一般用于linux下,要在win7 64bit下使用也挺简单:1. 下载pthreads-w32-2-8-0-release.exe下载地址:ftp://sourceware.org/pub/pthreads-win322. 安装pthreads-w32-2-8-0-release.exe双击pthreads-w32-2-8 阅读全文
posted @ 2012-03-29 16:44 拼装小火车 阅读(6056) 评论(1) 推荐(2) 编辑
  2012年3月28日
摘要: opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,Mat类型侧重于计算,数学性较高,openCV对Mat类型的计算也进行了优化。而CvMat和IplImage类型更侧重于“图像”,opencv对其中的图像操作(缩放、单通道提取、图像阈值操作等)进行了优化。在opencv2.0之前,opencv是完全用C实现的,但是,IplImage类型与CvMat类型的关系类似于面向对象中的继承关系。实际上,CvMat之上还有一个更抽象的基类----CvArr,这在源代码中会常见。1. IplImageopencv中的图像信息头,该结构体 阅读全文
posted @ 2012-03-28 14:56 拼装小火车 阅读(46324) 评论(2) 推荐(14) 编辑
  2012年3月26日
摘要: 卷积:目前能够理解的是卷积就是把模版与图像对应点相乘再相加,把最后的结果代替模版中心点的值的一种运算。opencv中函数cvFilter2D()可以对图像进行卷积运算。#include "cv.h" #include "highgui.h" #include <stdio.h> int main() { IplImage *src=0; IplImage*dst =0; IplImage*dst2=0; float k[9]={ 1,2,1, 2,4,2, 1,2,1}; //高斯卷积3*3的核 ... 阅读全文
posted @ 2012-03-26 16:50 拼装小火车 阅读(755) 评论(0) 推荐(0) 编辑
摘要: [转]http://hi.baidu.com/maxint/blog/item/fc817c2f29881f331e3089ef.html1. 安全指针从opencv2.0开始,很多C数据结构变成了C++的类,考虑到兼容性,保留旧的API。在内存管理方面,提供安全指针类Ptr,让在此以前旧的需要手动管理内存的数据结构(IplImage, CvMat等)无需手动Release,用法为:Ptr<IplImage> img = cvReadImage("Lena.jpg");Ptr是一个模板类,在opencv中定义如下:template<typename _Tp 阅读全文
posted @ 2012-03-26 16:35 拼装小火车 阅读(2576) 评论(0) 推荐(0) 编辑
  2012年3月19日
摘要: 实验用的数据分辨率过大,不利于算法的收敛,因此做法都是Hierarchical的,不直接求解原分辨率,而是使用采样来建立图像金字塔,再从上到下进行求解。目前想到的有两种:1)图像缩放//opencv functionvoid resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation= INTER_LINEAR );//src – 原图像//dst – 结果图像//dsize – 结果图像大小.dsize = Size(round(fx*src.cols), ro 阅读全文
posted @ 2012-03-19 20:18 拼装小火车 阅读(2271) 评论(0) 推荐(0) 编辑
摘要: 研究过程中常用到能量极小化的思想,相当于泛函的极值问题。求解可以使用变分法,因此变分法的关键定理Euler-Lagrange方程是经典的能量极小化的求解方法。[其他还有哪些方法??] [转自wiki] 欧拉-拉格朗日方程对应于泛函的临界点。在寻找函数的极大和极小值时,在一个解附近的微小变化的分析给出一阶的一个近似。但是它并不能分辨是找到了最大值或者最小值或者两者都不是。在理想的情形下,函数的极大值及极小值会出现在其导数为0的地方,同样的,求解变分问题时也可以先求解相关的欧拉-拉格朗日方程。方程的具体形式 : 第一方程: 若$\vec{y}'(x)\in(C^1[a, b])^n$,使得 阅读全文
posted @ 2012-03-19 18:52 拼装小火车 阅读(8044) 评论(0) 推荐(0) 编辑
  2012年3月14日
摘要: 重装了win7系统,32bit到64bit。目前装的程序都没什么兼容性或者莫名奇妙的原因,这也是因为64bit的win7是向下兼容32bit的应用程序的。只是在OpenGL设置的时候,复制粘贴好.h,.lib,.dll之后,测试的时候发现无法找到glut32.dll。找到原因是因为,需要把.dll放在目录C:\WINDOWS中的SysWOW64下。特别记下来。 阅读全文
posted @ 2012-03-14 19:11 拼装小火车 阅读(1295) 评论(0) 推荐(0) 编辑
  2012年3月9日
摘要: 这一周师兄师姐都在答辩,挑了几场和自己相关的去听了一下。1. 题目:一种高效鲁棒的多视图三维重建算法 王开盛(wangkaisheng@zjucadcg.cn) 这个师兄做的事情是通过lightStage的一圈相机,对静态的人在同一时刻拍下一组照片,根据这组照片三维重建出人体模型,卖点是高效和鲁棒。用到的方法是一些比较主流的方法,并在一些细节的地方做了自己的改进。整个流程是:深度恢复:求解包围盒,每个相机位置已知,那么这一圈相机的中心位置好求的。然后以相机之间的最远距离*10作为包围盒的边长,得到一个初略的空间范围,物体必然处于这个范围中,体素化这个物体空间。然后在这个粗糙的空间中,把每个体素 阅读全文
posted @ 2012-03-09 20:58 拼装小火车 阅读(649) 评论(0) 推荐(0) 编辑
  2012年3月7日
摘要: 需要对照片文件的拍摄时间进行读取,照片以".jpg"格式存储。之前以为直接读取文件创建时间就可以了,但是遍历文件得到的文件信息结构体存储的是文件在本地的一些时间,其中的文件创建时间再复制,编辑等操作之后就会发生改变,并非该照片原本的拍摄时间。后来搜索到Exif,百科中说,Exif是一种图象文件格式,它的数据存储与JPEG格式是完全相同的。实际上Exif格式就是在JPEG格式头部插入了数码照片的信息,简而言之,Exif=JPEG+拍摄参数。用UltraEdit等二进制文件查看工具打开".jpg"格式的文件,可以发现在文件头有一部分存储了大量的非图像信息,这 阅读全文
posted @ 2012-03-07 20:18 拼装小火车 阅读(7714) 评论(2) 推荐(0) 编辑