记2014年数学建模国赛

下面给出,嫦娥三号在粗、精避过程中的算法,python 2.7

 1 #coding=gbk
 2 '''
 3 Created on 2014-9-10
 4 
 5 @author: Administrator
 6 '''
 7 from libtiff import TIFF
 8 import numpy
 9 import math
10 #filename='C:\\3.tif'                        #导入附件三文件
11 filename='C:\\4.tif'                          #导入附件四文件
12 tif = TIFF.open(filename, mode='r')
13 image = tif.read_image()
14 
15 
16 def seq(p,a):                               #计算每个区域的标准差函数
17     sum = 0.0
18     sum1 =0.0
19     
20     narray=numpy.array(p)
21     sum = narray.sum()
22     ave = sum/10000.0           
23     
24     for i in range(100):
25         for j in range(100):
26             sum1 = sum1 + int(p[i][j])*int(p[i][j])
27     s = (sum1-10000.0*(ave**2))/10000.0
28     if math.sqrt(s)<5:                    #人为设定的筛选精度
29         print '第%d个块的标准差为:%f' %(a,math.sqrt(s))
30 
31 #size=23                                #2.4km处大图分割参数
32 size=10                                 #100m处大图分割参数
33 a = 0
34 for i in range(size):                           #迭代求解
35     for j in range(size):
36         q = image[i*100:(i+1)*100,j*100:(j+1)*100]
37         a = a+1
38         seq(q,a)
39         
40 tif.close()

 

posted @ 2014-09-12 22:05  猫为什么不能遛  阅读(288)  评论(0编辑  收藏  举报