用python语言读取二进制图片文件,并提取非零数据统计信息(例如:max,min,skewness and kurtosis)
python新手,注释较少,欢迎指教
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
import struct import math import numpy import scipy.stats filename = input ( 'enter file name' ) f = open (filename, 'rb' ) f.seek( 0 , 0 ) c = 0 numOfZero = 0 s = 0 num = [] m = 0 while True : temp = f.read( 4 ) if len (temp) = = 0 : break else : c = c + 1 print (c) print (numOfZero) sum = 0 squSum = 0 min = 2000 max = 0 list = [] num = [] f.seek( 0 , 0 ) for i in range ( 0 , c): a = f.read( 4 ) b = struct.unpack( '<f' , a) list .append(b[ 0 ]) if list [i] = = 0 : numOfZero = numOfZero + 1 else : num.append(b[ 0 ]) if list [i] > max : max = list [i] if list [i] < min and list [i] ! = 0 : min = list [i] sum = sum + list [i] stan_Dev = numpy.std(num) median = numpy.median(num) sk = scipy.stats.skew(num) ku = scipy.stats.kurtosis(num) print ( 'numOfZero = ' , numOfZero) print ( 'sum = ' , sum ) print ( 'meanValue = ' , sum / (c - numOfZero)) print ( 'maxValue = ' , max ) print ( 'minValue = ' , min ) print ( 'median = ' , median) print ( 'stdev = ' , stan_Dev) print ( 'skewness = ' , sk) print ( 'kurtosis = ' , ku) f.close() |
以上这篇python读取raw binary图片并提取统计信息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/oldveteran/article/details/52041119