一维统计量,多维统计量,OIF, python程序

  • 计算需要用到的库
from PIL import Image
import matplotlib.pyplot as plt
import scipy.stats as sts
import numpy as np
import cv2 as cv
from numpy import cov,corrcoef
from scipy.special import comb, perm
from itertools import combinations, permutations
  • 一维统计量
  1. mean    均值
  2. ptp       极差
  3. var       方差
  4. std       标准差
  5. min  max   极值

代码如下:

img1 = np.array(cv.imread("X:/WDR/ETM/LE71220352017080EDC00_B1.TIF",1))
img2 = ....
img7 = ....


IMGN2P=[img1,img2,img3,img4,img5,img7,img8]   //  二维矩阵数组



img1np=np.array(img1).flatten()   
img2np=.....
img7np=......

IMGNP=[img1np,img2np,img3np,img4np,img5np,img7np,img8np]   //  一维矩阵数组
// 创建 数组

mean=[0.00,1.00,2.00,3.00,4.00,5.00,6.00]   # 均值数组
ptp=range(7) #   极差
var=range(7) #  方差
std=range(7)# 标准差

正文代码:

mean=np.array(mean)          ###  均值矩阵
ptp=np.array(ptp,dtype=float)   ###   极差矩阵
var=np.array(var,dtype=float)   ###   方差矩阵
std=np.array(std,dtype=float)   ###   标准差
for x in range(7):
    mean[x]=IMGN2P[x].mean()
    var[x]=IMGN2P[x].var()
    std[x]=IMGN2P[x].std()
    ptp[x]=IMGN2P[x].ptp()
for x in range(7):      ### 最大值,最小值5

    print("各波段  max: ",IMGNP[x].max())  
    print("各波段  min: ",IMGNP[x].min())
  • 多维统计量
  1. cov  协方差
  2. corrcoef  相关系数
  3. OIF   指数因子

先写单一协方差和相关系数 还有OIF :

#cov corrcof   ###### 协方差矩阵           矩阵
 data1 =  np.array([img1np,img2np]) ##波段1.2
 cove = cov(data1,bias=1)

 print("波段1 2  协方差:",cove)
 print("波段1 2 相关系数: ",corrcoef(data1))

###1 2 3 波段OIF
 Sk=std[0]+std[1]+std[2]

 data2= np.array([img1np,img3np])  ## 波段 1  3
 data3=np.array([img2np,img3np])  ##波段 2 3
 R1=abs(corrcoef(data1).min())
 R2=abs(corrcoef(data2).min())
 R3=abs(corrcoef(data3).min())
 R=R1+R2+R3
 OIF=Sk/R
 print("OIF(1 2 3 ) : \n",OIF)

7波段协方差,相关系数和OIF:

# ncb73=comb(7,3)
nstd=list(range(100))
# ncb72=comb(7,2)
ncorrcoef=range(21)

 

k=0
npcrroef=np.zeros((7,7),dtype=float)
for x in range(6):   ###相关系数
    mxk=x
    for y in range(1,6-x):
        mxk=mxk+1
        ndata=np.array([IMGNP[x],IMGNP[mxk]])   ### ju zhen  qiu xiang guan xi shu 相关系数矩阵  12  13 ....
        npcrroef[x][mxk]=abs(corrcoef(ndata).min())
        k=k+1
m2=0
mk=0

for x in  range(5):
    m2=m2+1
    men=m2
    for y in range(5-m2):
        men=men+1
        nstd[mk]=std[x]+std[m2]+std[men]
for x in range(35):
    if x < 5:
        nco = npcrroef[0][x+2]+npcrroef[0][1]+npcrroef[1][x+2]
        OIF = nstd[x]/nco
        print("OIF( 1 2 ",x+3," )",OIF)
    elif x < 9:
        nco = npcrroef[0][2]+npcrroef[0][x-2]+npcrroef[2][x-2]
        OIF = nstd[x]/nco
        print("OIF(1 3 ",x-1," )",OIF)
    elif x < 12:
        nco = npcrroef[0][3]+npcrroef[0][x-5]+npcrroef[3][x-5]
        OIF = nstd[x]/nco
        print("OIF ( 1 4 ",x-4," )",OIF)
    elif x < 14:
        nco = npcrroef[0][4]+npcrroef[0][x-7]+npcrroef[4][x-7]
        OIF= nstd[x]/nco
        print("OIF ( 1 5 ",x-7," )",OIF)
    elif x <15:
        nco = npcrroef[0][5]+npcrroef[0][6]+npcrroef[5][6]
        OIF= nstd[x]/nco
        print("OIF ( 1 6 7)",OIF)
    elif x < 19:
        nco = npcrroef[1][2]+npcrroef[1][x-12]+npcrroef[2][x-12]
        OIF=nstd[x]/nco
        print("OIF ( 2 3 ",x-11," )",OIF)
    elif x < 22:
        nco=npcrroef[1][3]+npcrroef[1][x-15]+npcrroef[3][x-15]
        OIF=nstd[x]/nco
        print("OIF ( 2 4 ",x-14," )",OIF)
    elif x< 24:
        nco=npcrroef[1][4]+npcrroef[1][x-17]+npcrroef[4][x-17]
        OIF=nstd[x]/nco
        print("OIF (2 5 ",x-16," )",OIF)
    elif x <25:
        nco=npcrroef[1][5]+npcrroef[1][x-18]+npcrroef[5][x-18]
        OIF=nstd[x]/nco
        print("OIF (2 6 7)",OIF)
    elif x < 28:
        nco = npcrroef[2][3]+npcrroef[2][x-21]+npcrroef[3][x-21]
        OIF=nstd[x]/nco
        print("OIF (3 4 ",x-20,OIF)
    elif x < 30:
         nco=npcrroef[2][4]+npcrroef[2][x-23]+npcrroef[4][x-23]
         OIF=nstd[x]/nco
         print("OIF (3 5 ",x-22," )",OIF)
    elif x < 31:
        nco=npcrroef[2][5]+npcrroef[2][6]+npcrroef[5][6]
        OIF=nstd[x]/nco
        print("OIF (3 6 7)",OIF)
    elif x < 33:
        nco=npcrroef[3][4]+npcrroef[3][x-26]+npcrroef[4][x-26]
        OIF=nstd[x]/nco
        print("OIF (4 5 ",x-25," )",OIF)
    elif x<34:
        nco=npcrroef[3][5]+npcrroef[3][6]+npcrroef[5][6]
        OIF=nstd[x]/nco
        print("OIF (4 6 7)",OIF)
    elif x <35:
        nco=npcrroef[4][5]+npcrroef[4][6]+npcrroef[5][6]
        OIF=nstd[x]/nco
        print("OIF( 5 6 7)",OIF)

若要运行OIF,需先求得标准差  ! (std)

PS: 求7波段OIF代码,个人认为非常冗杂,也没想到其他办法 去求,如若有知道的好友,麻烦告知!!!     

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
### 回答1: oif-itla是一种通用协议,用于在现代信息技术领域进行跨平台、跨系统的数据交换和通信。它提供了一套统一的规则和标准,使不同的设备和系统能够彼此进行有效的数据传输和交流。 oif-itla协议的设计目标是实现高效、可靠、安全的数据通信。它采用了灵活的数据格式定义和传输方式,可以兼容不同的设备和应用程序。无论是传统的软件应用程序,还是基于云计算和物联网的系统,都可以使用oif-itla进行通信。 oif-itla协议的优点之一是其高度的兼容性。它可以与不同的操作系统、编程语言和网络协议进行集成,使得不同平台之间的数据交换更加便捷和可靠。此外,oif-itla还支持多种传输方式,包括以太网、无线网络等,适应了不同的场景和需求。 另外,oif-itla协议还具备安全性能。它采用了加密和身份认证等机制,确保数据在传输过程中的保密性和完整性。此外,oif-itla还支持数据压缩和数据冗余校验等技术,提高了数据传输的效率和可靠性。 总之,oif-itla是一种通用协议,为不同平台和系统之间的数据交换和通信提供了统一的解决方案。它的高度兼容性、安全性和效率性使得它在现代信息技术领域广泛应用。无论是在传统的软件开发中,还是在云计算和物联网等新兴领域,oif-itla都可以发挥重要作用,促进系统之间的互联互通。 ### 回答2: OIF-ITLA(Optical Internetworking Forum-Internal Transceiver Link Assembly)是一种光学互连论坛内部转接器连接装配的通用协议。它由OIF(Optical Internetworking Forum)制定,旨在提供一种标准化的光纤传输解决方案。 OIF-ITLA协议主要适用于高速光纤传输系统,它定义了光模块的连接器、电气接口、光学接口、功能和参数等方面的要求,以确保不同供应商的光模块能够在互通性方面保持一致性。 通过OIF-ITLA协议,各种光模块(例如调制解调器、放大器、多工器等)可以可靠地进行互连,实现光信号的传输和处理。它支持高速数据传输,保证了传输的可靠性和兼容性,同时提高了光纤网络的性能。 OIF-ITLA协议的应用领域广泛,例如数据中心、电信网络、无线通信等。它使得不同供应商生产的光模块能够在不同的设备中使用,提供了更多选择和灵活性。同时,它也降低了光纤传输系统的维护成本,提高了系统的可扩展性和可靠性。 总的来说,OIF-ITLA通用协议在光纤传输领域发挥着重要作用。它通过标准化的接口和参数要求,实现了不同供应商的光模块之间的互通性,提高了光纤网络的性能和可靠性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值