python学习

python学习之数组array

首先,需要区分数组array与矩阵matrix的概念。
矩阵在MATLAB中应用较多,而array在numpy中应用较多。

(1)数组array按维度分为一维数组、二维数组、三维数组……
一维数组:a=[1,2,3]
二维数组:a=[[1,2],[3,4],[5,6]]
三位数组:a=[[[1,2],[3,4]],[5,[6,7]],……]
(这里涉及到python的两种数据类型 list 和 tuple,看这里https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014316724772904521142196b74a3f8abf93d8e97c6ee6000)

(2)矩阵matrix:类似于二维数组

补充:图像数据类型的引用

#提取彩色图片
>>> img=cv.imread('YANG.jpg')
>>> img
array([[[168, 188, 213],
        [168, 185, 211],
        [167, 185, 208],
        ...,
        [232, 227, 224],
        [232, 227, 224],
        [232, 227, 224]],

       [[170, 190, 215],
        [170, 187, 213],
        [167, 185, 208],
        ...,
        [232, 227, 224],
        [231, 226, 223],
        [231, 226, 223]],

       [[170, 190, 215],
        [166, 186, 211],
        [164, 182, 205],
        ...,
        [231, 226, 223],
        [231, 226, 223],
        [231, 226, 223]],

       ...,
       [[ 94, 111, 154],
        [100, 115, 154],
        [113, 123, 157],
        ...,
        [214, 209, 210],
        [214, 209, 210],
        [214, 209, 210]],

       [[115, 128, 166],
        [121, 132, 164],
        [136, 140, 165],
        ...,
        [215, 210, 211],
        [215, 210, 211],
        [215, 210, 211]],

       [[131, 141, 175],
        [138, 144, 173],
        [154, 154, 172],
        ...,
        [216, 211, 212],
        [216, 211, 212],
        [216, 211, 212]]], dtype=uint8)
#提取图像行数
>>> print(len(img))
587
#提取图像列数
>>> print(len(img[0]))
883
>>> print(len(img[0][0]))
3

显然,彩色图片是三维数组,
灰度图是二维数组,

#提取灰度图片
>>> gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
>>> print(gray)
[[193 191 190 ..., 227 227 227]
 [195 193 190 ..., 227 226 226]
 [195 191 187 ..., 226 226 226]
 ...,
 [122 125 132 ..., 210 210 210]
 [138 140 147 ..., 211 211 211]
 [150 152 159 ..., 212 212 212]]
#打印灰度图行数
>>> print(len(gray))
587
#打印灰度图列数
>>> print(len(gray[0]))
883

补充:提取图像的行列可以用numpy的shape函数,但是注意只能用于numpy.array生成的数组进行操作,list和tuple则不行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值