python读取raw binary图片并提取统计信息的实例

yipeiwu_com6年前Python基础

用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图片并提取统计信息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python在Console下显示文本进度条的方法

进度条实现原理 进度条和一般的print区别在哪里呢? 答案就是print会输出一个\n,也就是换行符,这样光标移动到了下一行行首,接着输出,之前已经通过stdout输出的东西依旧保留,...

Python语法快速入门指南

Python语法快速入门指南

Python语言与Perl,C和Java等语言有许多相似之处。但是,也存在一些差异。 在本章中我们将来学习Python的基础语法,让你快速学会Python编程。 第一个Python程序...

Python使用pyshp库读取shapefile信息的方法

通过pyshp库,可以读写Shapefile文件,查询相关信息,github地址为 https://github.com/GeospatialPython/pyshp import...

pyshp创建shp点文件的方法

如下所示: # coding:utf-8 import shapefile w = shapefile.Writer() w.autoBalance = 1 w = shapef...

python数据结构链表之单向链表(实例讲解)

python数据结构链表之单向链表(实例讲解)

单向链表 单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。...