python图像处理

import os
import numpy as np
import matplotlib.pyplot as plt 
from openpyxl import Workbook

def find_file(filepath):
    os.chdir(filepath)
    all_filename=os.listdir()
    all_filename_new=[]
    for i in all_filename:
        if os.path.splitext(i)[1] == '.aof':
            all_filename_new.append(i) 
    return all_filename_new

def SOI(x,y,a,filename):
    imgData = np.fromfile(filename, dtype='uint16')
    img=imgData.reshape(3072,3072,1)
    img_SOI=[]
    for i in range(0,a):
        for j in range(0,a):
            img_SOI.append(img[x+i][y+j])
    meanLSB=np.mean(img_SOI)
    return meanLSB

def graph(x,all_LSB,title):
    fig=plt.figure()
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['axes.unicode_minus'] = False
    plt.plot(x,all_LSB)
    plt.title(title)
    plt.ylabel('平均灰度值')
    plt.show()
    return



def main():
    filepath=input('输入要计算图像的路径:')
    X=int(input('输入坐标X:'))
    Y=int(input('输入坐标Y:'))
    A=int(input('选区长度:'))
    title=input('关于什么的计算:')
    all_filename_new=find_file(filepath)
    all_LSB=[]
    j=1
    x_t=[]
    for i in all_filename_new:
        all_LSB.append(SOI(Y,X,A,i))
        x_t.append(j)
        j+=1
    graph(x_t,all_LSB,title)

    wb=Workbook()
    ws=wb.active
    for i in x_t:
        ws['A'+str(i)]=i
        ws['B'+str(i)]=all_LSB[i-1]
    wb.save('result.xlsx')

if __name__ == "__main__":
    main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值