使用Numpy和Opencv完成基本图像的数据分析

摘要:随着科技的进步,使用Python包访问数字图像的内部变得更容易理解其属性和性质,掌握对数字图像处理的能力显得是十分有必要。

对于深度学习而言,很多任务都是与数字图形处理打交道。

三种颜色的不同组合将产生不同的颜色,由于每个值可以具有256个不同的强度或亮度值,因此总共有1680万(256x256x256)种不同组合。图像的基本知识介绍完毕后进入正题,以下内容将包含Numpy非常基本的图像数据分析、还有一些Python数据包,比如imageio,matplotlib等。

观察图像的基本属性

ndarray的形状表明它是一个三维矩阵,输出结果的前两个数字分别表示高度(height)和宽度(width),第三个数字(即3)表示是该图像是三通道彩色图:红色、绿色和蓝色。因此,如果我们计算RGB图像的大小,则总像素大小将是weiheighxwidthx3。

这些值对于验证而言是很重要的,因为8位颜色强度不能超出0到255范围。使用图片可以分配变量,此外还可以访问图像的任何特定像素值,并且还可以分别访问每个RGB通道。在这种情况下:R=109、G=143、B=46,从这个配置可以看出该像素中有很多绿色,也可以通过三个通道的索引值来从中选择出一个。

现在快速查看整个图像中每个通道表示的图像。

下面,也可以更改RGB的数值。例如,将下面行的红色、绿色、,蓝色图层的值全部设置为全强度,即取值为255。R通道:第100行到110行G通道:第200行到210行B通道:行300行到310行本次测试只在一张图像上进行综合处理,方便我们同时查看每个通道的值对图像的影响。

为了更加清楚地对比分析,我们也改变部分列的像素值,这次测试同时更改RGB通道的值。

拆分图层通过以上测试,可以知道,图像的每个像素点都是由三个整数表示。只需要拉出图像阵列的正确切片,就可以将图像分割成单独的颜色分量。

灰度化黑白图像存储在二维矩阵中,目前存在两种类型的黑白图像:灰度:灰色阴影的范围:0~255二进制:像素为黑色或白色:0或255灰度处理过程,就是将图像从全彩色转换为灰度图。在图像处理工具中,例如:在OpenCV中,在使用很多含住之前,需要将图像进行灰度处理,这样做是因为灰度处理简化了图像,几乎像降噪一样,这是因为灰度图像中的信息比较少。在python中有两种方法可以将图像转换为灰度。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180714A0RLSP00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券