自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(40)
  • 收藏
  • 关注

转载 使用GDAL/GEOS求面特征的并集

存在这样一个示例的矢量文件,包含了两个重叠的面特征:一个很常见的需求是求取这个矢量中所有面元素的并集,通过GDAL/GEOS很容易实现这个功能,具体代码如下:#include <iostream>#include <gdal/ogrsf_frmts.h>using namespace std;bool WritePolygon(string fi...

2019-09-15 21:16:00 140

转载 使用GDAL/OGR读写矢量文件

感觉GIS中矢量相关内容还是挺庞杂的,并且由于版本迭代的关系,使用GDAL/OGR读写矢量的资料也有点不太一样。这里总结了一个读写矢量的示例,实现代码如下:#include <iostream>#include <gdal/ogrsf_frmts.h>using namespace std;bool ReadDXF(string filePath, ...

2019-09-14 21:33:00 406

转载 WebGL简易教程(四):颜色

目录 1. 概述 2. 示例:绘制三角形 1) 数据的组织 2) varying变量 3. 结果 4. 理解 1) 图形装配和光栅化 2) 内插过程 5. 参考 ...

2019-09-14 17:46:00 410

转载 WebGL简易教程(三):绘制一个三角形(缓冲区对象)

目录 1. 概述 2. 示例:绘制三角形 1) HelloTriangle.html 2) HelloTriangle.js 3) 缓冲区对象 (1) 创建缓冲区对象(gl.createBuffer()) (2) 绑定缓冲区对象(gl.bi...

2019-09-04 11:09:00 148

转载 OSG与Shader的结合使用

目录 1. 概述 2. 固定管线着色 3. 纹理着色 4. 参考 1. 概述以往在OpenGL中学习渲染管线的时候,是依次按照申请数据、传送缓冲区、顶点着色器、片元着色器这几个步骤编程的。OSG是OpenGL的一些顶层的封装,使用shader的时候看不到这...

2019-08-28 22:57:00 454

转载 WebGL简易教程(二):向着色器传输数据

目录 1. 概述 2. 示例:绘制一个点(改进版) 1) attribute变量 2) uniform变量 3) varying变量 3. 结果 4. 参考 1. 概述在上一篇教程《WebG...

2019-08-11 11:45:00 135

转载 WebGL简易教程(一):第一个简单示例

目录 1. 概述 2. 示例:绘制一个点 1) HelloPoint1.html 2) HelloPoint1.js (1) 准备工作 (2) 着色器 (3) 顶点着色器 (4) 片元着色器 (5) 清空缓冲...

2019-08-04 21:54:00 203

转载 使用GDAL实现DEM的地貌晕渲图(三)

目录 1. 原理 1) ArcMap生成彩色晕渲图 2) 彩色色带赋值 3) 颜色叠加 2. 实现 3. 结语 4. 参考 1. 原理之前在《使用GDAL实现DEM的地貌晕渲图(一)》和《使...

2019-07-27 18:22:00 117

转载 使用GDAL实现DEM的地貌晕渲图(二)

1. 问题之前我在《使用GDAL实现DEM的地貌晕渲图(一)》这篇文章里面讲述了DEM晕渲图的生成原理与实现,大体上来讲是通过计算DEM格网点的法向量与日照方向的的夹角,来确定该格网点的晕渲强度值。但其实关于这一点我不是很理解,这样做随着坡面与光源方向的夹角不同,确实产生了不同色调明暗效果;但晕渲图同时又有“阴坡面越陡越暗,阳坡面越陡越亮”的特性的,而阴阳坡面的划分又是跟坡度和坡向相关...

2019-07-20 20:45:00 213

转载 C++常用的string字符串截断函数

C++中经常会用到标准库函数库(STL)的string字符串类,跟其他语言的字符串类相比有所缺陷。这里就分享下我经常用到的两个字符串截断函数:#include <iostream>#include <vector>#include <string>#include <sstream>using namespace std;/...

2019-07-18 21:11:00 529

转载 使用GDAL实现DEM的地貌晕渲图(一)

目录 1. 原理 1) 点法向量 2) 日照方向 (1) 太阳高度角和太阳方位角 (2) 计算过程 3) 晕渲强度 2. 实现 3. 参考 1. 原理以前一...

2019-07-14 17:37:00 338

转载 OSG绘制空间凹多边形并计算其面积

目录 1. 思路 1) 多边形分格化 2) 几何图元遍历 2. 实现 3. 参考 1. 思路这个问题其实涉及到OSG中的两个问题:多边形分格化和几何图元遍历。1) 多边形分格化在OpenGL/OSG中,由于效率的原因,...

2019-07-07 12:05:00 495

转载 Windows下OSGEarth的编译过程

目录 1. 依赖 1) OpenSceneGraph 2) GDAL 3) CURL 4) GEOS 5) 其他 2. 编译 1) 设置参数 2) 配置路径 3) 生成编译...

2019-06-30 11:54:00 172

转载 通过OSG实现对模型的日照模拟

目录 1. 加载模型 2. 光照 1) 环境反射 2) 漫反射 3) 日照方向 (1) 太阳高度角和太阳方位角 (2) 计算过程 4) 改进实现 3. 阴影 ...

2019-06-26 18:35:00 283

转载 OSG嵌入QT的简明总结

目录 1.解决方案 2.存在问题 1) 警告提示 2) 多线程问题 3) 其他 1.解决方案不得不说关于OSG的资料实在太零散了,搜索了很多关于OSG在QT下的解决方案,都是各有各的说法,有的说的不是很清楚,有的已经过时了...

2019-06-16 15:45:00 395

转载 C/C++创建多级目录

C运行时库提供的创建目录的函数_mkdir(),在上级目录不存在时会创建失败。所以自己实现了一下创建多级目录,无论上级目录是否存在。#include<iostream>#include<vector>#include<io.h>#include<list>#include<direct.h>using namesp...

2019-05-03 14:12:00 194

转载 VC遍历访问目录下的文件

访问目录文件夹下的文件是经常需要的操作,C/C++和win32接口都没有提供直接调用的函数。在这里总结了几个经常用到的函数,通过MFC的CFileFind函数递归遍历实现,包括以下几个功能函数:查找目录下所有的文件夹;查找目录下所有的文件(不遍历目录的目录);查找目录下所有的文件(遍历目录的目录) ;查找目录下某一类型文件 (不遍历目录的目录);查找目录下某一类型文件 (遍...

2019-05-02 18:39:00 98

转载 WebGL的颜色渲染-渲染一张DEM(数字高程模型)

目录 1. 具体实例 2. 解决方案 1) DEM数据.XYZ文件 2) showDEM.html 3) showDEM.js 4) 运行结果 3. 详细讲解 1) 读取文件 2) 绘制函数...

2019-05-01 15:51:00 338

转载 C++一种高精度计时器

在windows下可以通过QueryPerformanceFrequency()和QueryPerformanceCounter()等系列函数来实现计时器的功能。根据其函数说明,其精度能够达到微秒级,但是需要硬件中的计时器来支持。至于具体怎么样的硬件能够支持,查了很多资料都没有详细说明;而另外一些资料也说明,如果底层硬件不支持,这两个API就会返回类似于GetTickCount()的精...

2019-04-21 15:20:00 157

转载 已知三点求平面法向量

空间已知三点的位置p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3),令它们逆时针在空间摆放。这样就可以得到平面的两个向量p1p2(x2-x1,y2-y1,z2-z1),p1p3(x3-x1,y3-y1,z3-z1),而平面法线总是和这两个向量垂直。也就是说,p1p2与p1p3的向量积就是平面的法向量n。复习一下向量积,已知向量a=(a1,a2,a3) b...

2019-04-21 10:50:00 3078

转载 判断点在多边形内算法的C++实现

目录 1. 算法思路 2. 具体实现 3. 改进空间 1. 算法思路判断平面内点是否在多边形内有多种算法,其中射线法是其中比较好理解的一种,而且能够支持凹多边形的情况。该算法的思路很简单,就是从目标点出发引一条射线,看这条射线和多边形所有边的交点数目。如果有奇数个交点,则...

2019-04-14 10:39:00 370

转载 harris角点检测的简要总结

目录 1. 概述相关 2. 原理详解 1) 算法思想 2) 数学模型 3) 优化推导 3. 具体实现 1) 详细步骤 2) 最终实现 4. 参考文献 ...

2019-04-13 23:45:00 123

转载 图像的膨胀与腐蚀——OpenCV与C++的具体实现

目录 1. 膨胀与腐蚀的原理 2. 膨胀的具体实现 1) OpenCV实现 2) C/C++实现 3) 验证与结果 3. 腐蚀的具体实现 1. 膨胀与腐蚀的原理膨胀与腐蚀是数学形态学在图像处理中最基础的操作...

2019-03-31 23:01:00 124

转载 图像的卷积(滤波)运算(二)——高斯滤波

目录 1. 高斯滤波原理 2. 图像二维卷积 3. 具体实现 4. 参考资料 1. 高斯滤波原理根据数学知识,一维高斯函数可以描述为:在图像处理中,选定X方向上长度为3的窗口,令δ=1,中心坐标为1,由上述公式,其卷积核(Xa,X,Xb)可以如下计算:...

2019-03-25 11:06:00 449

转载 图像的卷积(滤波)运算(一)——图像梯度

目录 1. 卷积/滤波原理 2. 具体实例 3. 图像梯度图 4. 参考资料 1. 卷积/滤波原理首先要明确的一点是图像的卷积/滤波运算,是针对原图像每一个像素进行处理,得到一个新的图像的过程。那么进行怎么样的运算呢?要知道图像能够被人所识别,是因为图像中...

2019-03-23 00:13:00 613

转载 使用OSG创建一个简单的地形

目录 1.解决方案 1) 使用TIF格式的DEM 2) 描述HeightField 2.存在问题 3.参考文档 1.解决方案在网上参考了一些资料,使用OSG创建地形最简单的办法就是使用OSG::HeightField类,它...

2019-03-10 22:15:00 359

转载 使用VC建立网络连接并访问网络资源

目录 1. 提出问题 2. 解决方案 1. 提出问题在windows下可以通过系统操作,将局域网的资源映射到本地,从而实现像本地数据一样访问网络资源。实际上这些步骤也可通过代码调用win32函数实现,前提是你得知道目标机器的地址以及密钥。2. 解决方案直接上VC的实例代码:#inc...

2019-03-01 11:23:00 222

转载 GDAL读取的坐标起点在像素左上角还是像素中心?

目录 1. 问题 2. 结论 3. 例外 1. 问题笔者在处理地理栅格数据的时候,总是会发生偏差半个像素的问题。比如说通过ArcMap打开一张.tif,查看其地理信息;同时用记事本打开.tfw,比较两者得地理信息:同样的起点位置(左上角坐标),两者却相差半个像素的距...

2019-02-23 19:55:00 444

转载 WebGL或OpenGL关于模型视图投影变换的设置技巧

目录 1. 具体实例 2. 解决方案 1) Cube.html 2) Cube.js 3) 运行结果 3. 详细讲解 1) 模型变换 2) 视图变换 3) 投影变换 4) 模...

2019-02-17 23:14:00 111

转载 图像处理之直方图均衡化拉伸

目录 1. OpenCV实现 2. 原理 1) 概率密度函数 2) 概率分布函数 3) 原理应用 4) 原理推导 3. 具体实现 4. 参考文献 1. OpenCV实现在Op...

2019-02-10 23:31:00 424

转载 Win64下编译OSG详细过程(Win10+VS2015+OSG3.6.3)

目录 1. 数据资源准备 2. 编译第三方库 3. 编译GDAL 4. 编译OSG 1) CMAKE_INSTALL_PREFIX: 2) BUILD_OSG_EXAMPLES/BUILD_MFC_ EXAMPLE: 3) ACTUAL_3...

2019-02-03 23:15:00 228

转载 Win64下编译集成GEOS和Proj4的GDAL

目录 1.编译GEOS 2.编译Proj4 3.GDAL集成Proj4和GEOS 1) 修改安装的目录 2) 配置Proj4 3) 配置GEOS 4) 自定义动态库名称(可跳过) 5) 编译 ...

2019-02-02 14:58:00 133

转载 VS2015编译GEOS的debug和release版本

目前GEOS最新的3.7.1版本支持camke进行编译。经过尝试发现通过cmake生成的工程在vs2015下面编译的时候还是存在问题,而且在中文网上也没找到解决方案。所以还是采用了nmake进行编译。解压出geos-3.7.1文件夹,双击运行其中的autogen.bat。在目录中找到nmake.opt,这个文件控制着nmake编译的一些参数。记事本打开,找到如下片段:#####...

2019-02-01 19:54:00 176

转载 已知仿射变换的系数,求仿射变换的反向系数

对于如下从(xx,yy)到(X,Y)的仿射变换:X = xx + ax * xx + bx * yy + cxY = yy + ay * xx + by * yy + cy已知(ax,bx,cx),(ay,by,cy)为其仿射变换系数,则(X,Y)到(xx,yy)必然也存在仿射变换关系:xx = X + axp* X + bxp * Y + cxpyy = Y + ayp...

2018-09-29 17:38:00 204

转载 GDAL坐标转换

一、引言最近研究了一下GIS、测绘学的坐标转换的问题,感觉大部分资料专业性太强,上来就是一通专业性论述;但感觉对于相关从业者来说,其实不必了解那么多背景知识的;就通过GDAL这个工具,来简单总结下坐标转换相关的问题。GDAL坐标转换其实也是调用proj4来实现,但是proj4有个特别麻烦的地方,就是坐标系描述的部分特别繁复,需要对专业知识有一定的了解。使用GDAL则相对简单很多。二...

2017-05-30 09:07:00 247

转载 Linux环境g++编译GDAL动态库

一、编译步骤解压下载的GDAL源程序,并在命令行中切换到解压目录。tar -xzvf gdal-2.1.3.tar.gzcd gdal-2.1.3GDAL可通过configure来实现一些自定义配置,可通过./configure –h命令来查看。--prefix=path表示设置GDAL的make install后的build目录,里面有生成的头文件和动态库。输入如下命令:./...

2017-05-21 22:35:00 150

转载 Linux环境g++编译TinyXML动态库

除了CMarkup,tinyxml也是C/C++下解析XML很好的工具。在linux下用g++编译tinyxml的步骤如下(tinyxml版本2.6.2):进入tinyxml解压目录,用文本编辑器打开Makefile文件。修改编译目的文件参数。将OUTPUT := xmltest改为OUTPUT := libtinyxml.so。删除测试文件。将SRCS := tinyxml.c...

2017-05-20 22:39:00 111

转载 OpenGL显示图片

最近想用C++在windows下实现一个基本的图像查看器功能,目前只想到了使用GDI或OpenGL两种方式。由于实在不想用GDI的API了,就用OpenGL的方式实现了一下基本的显示功能。用GDAL读取图像,这样就能与图像格式无关。OpenGL的glDrawPixels()函数也能实现图像显示,但是现在高版本的OpenGL都采用glTexImage2D()贴纹理的方式了,也不用考虑图像...

2016-08-06 23:15:00 811

转载 GDAL关于读写图像的简明总结

读写影像可以说是图像处理最基础的一步。关于使用GDAL读写影像,平时也在网上查了很多资料,就想结合自己的使用心得,做做简单的总结。在这里写一个例子:裁剪lena图像的某部分内容,将其放入到新创建的.tif文。以此来说明GDAL读写影像的具体实现。1.打开图像用GDAL打开lena.bmp,实现如下。注意这里打开图像,指的是获取图像的头文件,以此得到图像的一些信息,没有涉及到读取像...

2016-07-31 15:59:00 205

转载 VS2015下编译64位GDAL总结

使用VS2015编译最新的64位GDAL(最新gdal2.11),确实有一些问题,看来双方还是太新了,有点不兼容,特总结如下。以前经常用的通过VisualStudio IDE进行编译的方式现在似乎不能使用了, makegdal_gen.bat还是可以生成工程,也能升级成VS2015的工程,但是修改nmake.opt的一些配置没有生效,导致编译无法成功。只能使用“VS2015 x64 ...

2016-07-29 13:24:00 107

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除