用python语言读取二进制图片文件,并提取非零数据统计信息(例如:max,min,skewness and kurtosis)
python新手,注释较少,欢迎指教
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图片并提取统计信息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持亿速云。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。