knrt.net
当前位置:首页 >> python ArrAy把彩图转成矩阵之后,RGB分量和矩阵怎么对应的? >>

python ArrAy把彩图转成矩阵之后,RGB分量和矩阵怎么对应的?

会变成一个shape为(width,height,3)的numpy数组,是bgr还是rgb模式要看是什么库读出来的,相当于一个2d平面上每个点都是像素点

array 是脚本中存储着从文件中解读数据的列表 b=pprint.pprint(array) # b是pprint调用的返回值;pprint并不将返回任何数据,所以b==None

你可以用scipy包的misc.imsave函数,下面是示例代码随机生成一个600X800X3的矩阵,然后写入图片import numpy as npfrom scipy.misc import imsavex = np.random.random((600,800,3))imsave('meelo.jpg', x)

RGB矩阵,就是一个三维数组,各维度分别保存红绿蓝的色值.可以用 Image img = new Image("aaa.bmp"); Bitmap bmp = (Bitmap)img; for(int x=0; xfor(int y=0; y{ Color pixelColor = bmp.GetPixel(x, y); 从pixelColor中取出红绿蓝的色值,保存到三维数组中 }

需要使用numpy库:

可以使用scipy包中的imread函数.SciPy是一款方便、易于使用、专为科学和工程设计的Python工具包.imread接收图片的完整路径为参数,也可以是文件指针,返回numpy.ndarray类型的矩阵.示例代码如下:from scipy.misc import imreadimg = imread('meelo.jpg')print(img.shape)# (600, 1000, 3)img.shape会返回图片矩阵的维度,可以看到示例代码中,矩阵的维度是600*1000*3.

因为矩阵里的每个位置都对应图像上的位置和数百据,简单的rbg格式来说,前度两个维度是宽和高,第三维度是对应的三种颜色色深.所以每张图片都是一个多维专矩阵组成,转化为nunpy数组就是方便通过矩阵运算来对图像进行修改属

length = 5 matrix = [range(i*length, (i+1)*length) for i in range(length)] method 1: matrix = [matrix[i][j] for i in range(length)] for j in range(length)] method 2: matrix = zip(*matrix)

你得先安装numpy库,矩阵(ndarray)的shape属性可以获取矩阵的形状(例如二维数组的行列),获取的结果是一个元组,因此相关代码如下:import numpy as npx = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]])# 输出数组的行和列数print x.shape # (4, 3)# 只输出行数print x.shape[0] # 4# 只输出列数print x.shape[1] # 3

矩阵就是一个元素是列表的列表.按照求数据中的最孝最大、平均值,只要连接每个子列表,组成一个单列表就可以做到.

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com