用python语言读取二进制图片文件,并提取非零数据统计信息(例如:max,min,skewness and kurtosis)
python新手,注释较少,欢迎指教
import structimport mathimport numpyimport scipy.stats filename = input('enter file name')f = open(filename, 'rb')f.seek(0, 0) c = 0numOfZero = 0s = 0num = []m = 0 while True: temp = f.read(4) if len(temp) == 0: break else: c = c + 1print(c)print(numOfZero) sum = 0squSum = 0min = 2000max = 0list = []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图片并提取统计信息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网之家。
新闻热点
疑难解答