免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 6508|回复: 6
收起左侧

[经验共享] 普通照片的几何校正方法

[复制链接]

2

主题

89

铜板

1

好友

实习生

Rank: 1

积分
19
发表于 2012-8-29 16:32 | 显示全部楼层 |阅读模式

没有原始坐标的图片的几何校正方法

如果你有一副照片想给其赋予坐标并想求其中的面积、周长等等属性,那么下面的步骤值得你细看,希望对你们有所帮助。

一、准备步骤

1.准备一张方格纸,最好面积是照片面积的2倍以上

2.把照片放在方格纸的正中央,然后利用数码相机拍下照片,用于几何校正

注意事项:如果有很多照片需要比对的,最好焦距放到一定的大小,也就是能放大到同样的倍数。

二、选择相应的软件

现在市场上流行的有三大主流软件:PCI、Erdas和Envi。这三款软件都能满足此项校正的需要,但是由于现在Envi是免费软件,在其官网上能够下载最新版本的软件压缩包,所以现在还是以Envi作为例子来说明。

1.由于获得的原始照片没有坐标系,现在我们先给其强行配备一个坐标系统。当然这个坐标系统的参数只要设置的统一,怎样设置可以根据自己的兴趣。利用ARCGIS9.3

打开arcmap下的工具箱ArcToolbox,找到里面的Data Management Tools项,然后子目录下的Projections and Transformations,接着选择Raster下的Define Projection,打开对话框选择自己比较熟悉的投影坐标系统(因为地理坐标系统一般为经纬度,而投影坐标系统为米),对要进行几何校正的照片赋予其同样的坐标系统。

2.打开Envi软件,并打开要校正的照片(要在窗口中显示出来,仅在Available band lists中看到不行)

3.选择Envi菜单栏中的Map下的Registration:——选择select GCPs:image to map,打开对话框

  对话框中要选择自己最为熟悉的投影系统,进行统一的参数选择和设置,单位设置成米,而且分辨率最好设置的小一点(例如我现在设置其为1米)

4.点击ok就会出现Ground Control Points Selection对话框来选择自己的“地面控制点”。

  在图像窗口点击相应的位置,然后输入自己想要的坐标(注意这时候我们最好根据分辨率把实际单位长度在输入坐标时放大成整数倍,例如实际照片上的1cm我可以输入为200m,这时候对应于1cm里就有200个小的像元,因为分辨率为1m,使得我们的照片在校正之后看上去大小适度,且细节比较清楚。还有输入的坐标最好不要跳跃的输入否者照片变形较大,我建议最好每隔1cm输入一个坐标这样几何校正的精度会在一定程度上满足你的需要)

5.坐标输入完成后,一定要保存其为.pts格式的文件,以便连续的调用。

  步骤如下:

  在Ground Control Points Selection对话框的菜单栏选择File的下拉菜单的第一项“save GCPS w/map coodinations”打开Output Registration Points对话框,选择保存路径,点击OK即可。

6.如果没有关闭Ground Control Points Selection对话框那么选择菜单栏选择File的下拉菜单的restore GCPs from ASCII选项,打开Enter Ground Conntrol Points Filename对话框,选择刚保存的.pts文件。然后选择菜单栏的Options下的Warp displayed band选项就会打开Registration Parameters对话框,现在只需要设置右边的参数metod下有多项式,三角测量方法等,一般选择Polynomial即多项式方法,后面的degree是多项式的最高此项,Resampling:最近邻法、双线性内插和三次卷积(这个方法的优劣这里不做解释);background一搬给出0值,即是背景色;然后选择是保存文件还是在内存中。最后点击OK即可

7.如果6中所说的Ground Control Points Selection对话框已经关闭,那么可以选择Envi菜单栏中的Map下的Registration:——选择warp from GCPs:image to map,打开对话框,打开Enter Ground Conntrol Points Filename对话框,选择刚保存的.pts文件,点击Ok出现image to map Registration对话框,设置的参数和第3步设置的参数要一致,点击OK后出现Input warp image对话框,在此窗口中选择要进行几何校正的照片后点击OK,就会打开Registration Parameters对话框,现在只需要设置右边的参数metod下有多项式,三角测量方法等,一般选择Polynomial即多项式方法,后面的degree是多项式的最高此项,Resampling:最近邻法、双线性内插和三次卷积(这个方法的优劣这里不做解释);background一搬给出0值,即是背景色;然后选择是保存文件还是在内存中。最后点击OK即可。

8.通过上面的七步已经完成了照片的几何校正,那么如何求取照片中所关注部分的面积、周长、半径或者其他属性呢?利用上面的三个软件的先关功能也可以求部分属性,但是精度不如利用ARCGIS中的相关功能所求取的。

9.打开ArcCatalog,在自己感兴趣的文件中创建一个人数据库“person Geodatabase.mdb”接着新建一个Feature database,然后在其下新建一个Feature Class,然后在特征类基础上新建一topology。(说明如果要求面积周长等属性,特征类应是多边形ploygon)

10.在ArcGis中打开刚新建的特征类和已经经过几何校正的照片。

11.在编辑Editor工具条下选择Start editing然后选择后面的编辑工具,对照片感兴趣的区域进行编辑(注意这个编辑Target应是新建的polygon上进行)

12.编辑完成后,选择stop editing

13.打开ploygon,右击选择open attribute table,打开属性表,自动生成了编辑区域的面积和周长,如果要计算其他的属性,可以点击属性表右下方的options的向下的三角号选择Add Field增加字段(设置相应的字段名,数据类型,及其精度),然后选择要进行计算的字段列右击选择Field Calculator,打开Field Calculator对话框,在下面的空白区域输入自己的计算公式点击OK即可完成。

14.注意事项,在计算完成后一定要注意把数据换算回实际的大小,例如刚开始我是照片上1平方厘米代表校正后的40000平方米,那么我计算的面积就要除以40000才是实际的要求的面积的大小,单位为平方厘米。

65

主题

6267

铜板

24

好友

教授级高工

Rank: 12Rank: 12Rank: 12

积分
1654
发表于 2012-9-17 12:39 | 显示全部楼层
正在学习感谢楼主分享~

评分

参与人数 1铜板 +5 收起 理由
admin + 5 亲,你好快哦~~~

查看全部评分

回复 支持 反对

使用道具 举报

85

主题

9527

铜板

69

好友

黄金会员

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

积分
4842
发表于 2012-10-6 18:00 | 显示全部楼层
楼主要是配几张图就能表达意思了。
回复 支持 反对

使用道具 举报

13

主题

9387

铜板

20

好友

教授级高工

Rank: 12Rank: 12Rank: 12

积分
1321
发表于 2012-10-7 11:41 | 显示全部楼层
学习一下好教程
回复 支持 反对

使用道具 举报

45

主题

2万

铜板

60

好友

传奇会员

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
23241

灌水勋章宣传勋章贡献勋章

发表于 2013-10-23 09:35 | 显示全部楼层
了解一下,谢谢楼主分享。
回复 支持 反对

使用道具 举报

20

主题

2万

铜板

17

好友

传奇会员

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
32269
QQ
发表于 2015-8-17 21:18 | 显示全部楼层
看看而已  。。
回复 支持 反对

使用道具 举报

0

主题

103

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
81
发表于 2015-9-2 15:08 | 显示全部楼层
谢谢分享  但自己还没用过Envi
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表