python 中使用cv2读取彩色图片的多维数据格式与BGR格式的存储关系

近期很是困惑 一幅图像是如何在多维数据中存储,BGR的数据存格式和多维数据存储的联系,因此用了一张3X3的彩色图像做了个简单的实验。
 

import cv2
import os
import numpy as np
path = "./test.jpg"
image =cv2.imread(path)
(B G R) = cv2.split(image)
print image

 打印出的结果如下:
 

[[[42 36 31]
   [58 52 47]
   [69 63 58]]
  [[51 45 40]
    [59 53 48]
    [70 64 59]]
  [[56 52 47]
    [57 53 48]
    [66 62 57]]]

再分别打印出BGR:
 

print B
print G
print R

结果如下:

B:[[42 58 69]
     [51 59 70]
     [56 57 66]]
G:[[36 52 63]
     [45 53 64]
     [52 53 62]]
    
R: [[31 47 58]
      [40 48 59]
      [47 48 57]]

 通过对比数据存储格式,发现可以如下理解数据的存储格式:
首先假设图像默认的存储格式为BGR格式,从内向外依次放置。
图像1
然后从最左上角的数开始,从内向外取向量,比如第一个向量[42 36 31],接着从左往右依次取向量,就可得到最终的多维数组:

图片2

 

 
 

 

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值