图形图像
文章平均质量分 75
炼气散人
等儿子高考后,或许会回来
展开
-
VS 2012 编译64位的GDAL
注意点,打开VS2012 x64 Native Tools Command Prompt然后运行下面的命令:nmake -f makefile.vc WIN64=TRUE等待吧,成功。之前不成功是没有注意看文档,http://trac.osgeo.org/gdal/wiki/BuildingOnWindows里面写着:If you plan to compile for the 64bit pla原创 2013-08-20 13:49:11 · 4463 阅读 · 0 评论 -
用NMAKE创建VS2012 C++工程三 自动编译所有的cpp文件
在step2的基础上,继续改进1. 需要检测如果所需目录不存在,能够自动创建之因为git commit会略过空目录,如果下次从别的机器上git clone这个项目的时候,bin, obj这些目录是不存在的。使用@if not exist判断,用mkdir 创建目录2. 需要一个clean pseudotarget用来删除不需要的目录,让项目还原到刚clone下来的状态使用@if exit判断,用r原创 2013-08-28 11:27:27 · 4506 阅读 · 0 评论 -
用NMAKE创建VS2012 C++工程二 创建目录结构
紧接前文用NMAKE创建VS2012 C++工程 HelloWorld现在想做一些改进1. 不使用根据obj文件默认生成的exe文件名2. obj文件放到独立的obj目录下3. 编译出来的exe根据平台放在bin目录下,用/Fe4. 头文件放在include目录下,.cpp文件放在src目录下。用/I5. makefile文件应该放在build目录下(题外话:一般我喜欢创建一个builder目录,原创 2013-08-27 18:01:51 · 4426 阅读 · 0 评论 -
用NMAKE创建VS2012 C++工程一 HelloWorld
由于需要精通GDAL的源代码,所以还是有必要精通NMAKE,先来尝试创建一个NMAKE工程。之前一篇文章Windows7中Emacs 24 shell使用Gitbash已经介绍了如何在Emacs的shell中启动gitbash进程,这样就可以轻易的利用gitbash管理git,并且能够调用很多Linux命令。本文参考:http://bojan-komazec.blogspot.com/2011/1原创 2013-08-27 16:18:56 · 7511 阅读 · 0 评论 -
GDALOpen 代码分析
先来一句话,看了这么多GDAL的源代码,并不喜欢其C风格的烙印太重,还是更喜欢boost风格的简洁的现代C++风格。不过为了更好地应用GDAL,更深的定制它,还是需要将源代码看到底。因为GDAL毕竟是一个很好的图像处理的解决方案。复用它,可以省掉很多人年的工作。GDALOpen函数代码:注释值得一看/*************************************************原创 2013-08-15 14:05:31 · 10680 阅读 · 2 评论 -
GDALDestroyDriverManager 分析
有生就有死,既然有了singleton对象GDALDriverManger,就要在main函数退出之前销毁它。前文GDAL singleton的经典错误 已经分析了这是DCLP的模式,最后由一个指针poDM指向被创建出来的唯一的对象。因为是new出来的,自然要找到delete的地方。同样在gdaldrivermanager.cpp文件,在最后的位置,提供了函数GDALDestroyDriverMa原创 2013-08-15 10:39:24 · 7068 阅读 · 0 评论 -
GDALDataset的创建和销毁
之前在GDALDestroyDriverManager 分析中没有看到对dGDALDatasert的回收。先看一个例子程序,这个例子打开了一个tif文件,读取了一些基本信息。为了简单示范,没有写成C++的各种类分散到各个文件中。#include "stdafx.h"#include "gdal_priv.h"#include "cpl_conv.h" // for CPLMalloc()#i原创 2013-08-15 11:41:10 · 9516 阅读 · 2 评论 -
数字图像处理 读书笔记四 电磁波谱
基本概念电磁波 没有质量的粒子流,每个粒子以波的模式并用光速向前运动。光子 每个粒子包含一束能量,每束能量叫做一个光子。因此,一个光子就是一个粒子所带的能量。光子的能量单位是 电子伏特。波长 粒子以正弦波的形式运动,两个波峰之间的距离就是波长。λ,读作“拉姆达”。波长的单位是米,微米或者纳米。频率 表示一秒钟经过了多少个正弦波。单位是Hz, 1Hz表示一秒钟经过了一个正弦波。波长和频率的关系 λ原创 2013-08-26 16:24:42 · 3934 阅读 · 0 评论 -
Inside GDALAllRegister之一: 五大部分
GDALAllRegister源代码分析之一原创 2013-08-14 13:52:26 · 7538 阅读 · 0 评论 -
Inside GDALAllRegister之二: 自动加载驱动
Inside GDALAllRegister之二: 自动加载驱动原创 2013-08-14 14:16:58 · 4345 阅读 · 0 评论 -
Inside GDALAllRegister之四: 跳过driver
这个函数很短小:/** * \brief This method unload undesirable drivers. * * All drivers specified in the space delimited list in the GDAL_SKIP * environmentvariable) will be deregistered and destroyed. Thi原创 2013-08-14 15:39:57 · 2980 阅读 · 0 评论 -
Inside GDALAllRegister之三: 注册指定驱动
现在来仔细分析如何注册一个驱动的代码,看下面代码:#ifdef FRMT_vrt GDALRegister_VRT();#endif 编译时指定或者取消FRMT_vrt,可以控制这条语句是否编译到可执行程序中。 在windows上面的用VC++编译器时,可以修改frmts/makefile.vc文件的EXTRAFLAGS值,比如:EXTRAFLAGS = -DFRMT_nitf -原创 2013-08-14 15:16:41 · 5007 阅读 · 0 评论 -
GDAL singleton的经典错误
GDAL使用了不可靠的singleton原创 2013-08-13 16:56:43 · 3567 阅读 · 0 评论 -
数字图像处理 读书笔记一 绪论
基本概念函数 f(x, y)函数 f(x, y) 可以用来表示一副图像,x和y是平面坐标,f(x, y)的结果叫做幅值,表示该点处的强度或者灰度。数字图像(Digital Image)当x, y 和 灰度值f是有限的离散数值时,该图像称为数字图像。离散数值是什么,discrete variable,就是不连续的值。x 和 y其实就是二维数组的索引,f是离散值,也被称之为像素。不过这个定义有点费解,原创 2013-08-12 22:48:34 · 4043 阅读 · 0 评论 -
数字图像处理 读书笔记三 人眼的亮度辨别能力
前文 数字图像处理 读书笔记二 眼睛的构造 已经描述了眼睛的基本构造和亮度适应级别。现在更具体的总结书中的亮度辨别问题。几个基本定义,参考:http://wenwen.soso.com/z/q179268904.htm?sp=1001&pos=0&ch=2013ww.tw.xgzshttp://wenwen.soso.com/z/q315826158.htm反射表面是由折射率不同的两种 材料的物理原创 2013-08-22 16:09:01 · 9639 阅读 · 1 评论 -
数字图像处理 读书笔记二 眼睛的构造
图像学需要慢慢积累,眼睛的构造知识原创 2013-08-13 16:25:06 · 4650 阅读 · 0 评论 -
VS2012 编译GDAL
VS2012 编译GDAL原创 2013-08-02 17:44:03 · 4643 阅读 · 0 评论 -
Ubuntu上用premake编译GDAL
premake编译GDAL原创 2013-09-12 16:42:44 · 3477 阅读 · 0 评论