【基本图像操作】NumPy

NumPy

NumPy是Python科学计算工具包,其数组对象可以用于矩阵乘积,转置,解方程系统,向量乘积和归一化操作。

图像数组表示

输出图像数组的大小和数组的数据类型。
未处理的图像有三个颜色通道rgb,灰度图像r=g=b
下面是这部分的操作:

# -*-coding:utf-8 -*-

from PIL import Image
from numpy import *


#array()方法将图像转换成NumPy的数组对象
im = array(Image.open("/home/xuna/桌面/image/test.jpg"))
print im.shape, im.dtype

#访问坐标为(0,0)通道为1的像素值
r = im[0,0,0]
g = im[0,0,1]
b = im[0,0,2]

print (r,g,b)
"""
运行结果
(300, 510, 3) uint8 
(0, 157, 222)   

(300, 510, 3):数组的大小(行,列,颜色通道(1,2,3:rgb))   
uint8 :数据类型(通常为无符号八位整数)
"""


#灰度图像
im = array(Image.open("/home/xuna/桌面/image/test.jpg").convert('L'),'f')
r = g = b = im[0,0]
print (r,g,b)
"""
多个数组元素切片访问常用
im[i,:] = im[j,:]       #将第j行的数值赋值给第i行
im[:,i]=100             #将第i列的所有数值设为100
im[:100,:50].sum()      #计算前100行,前50列所有数值的和
im[50:100,50:100]       # 50~100行,50~100列(不包含第100行和第100列)
im[i].mean()            #第i行所有数值的平均值
im[:,-1]                #最后一列
im[-2,:](or im[-2])     #倒数第二行
"""
print im.shape, im.dtype
"""
运行结果
(300, 510) float32  
(300,510):灰度处理,只有两个参数
float32:参数f将默认的uint8转换为浮点型

(117.0, 117.0, 117.0) 
"""

灰度变化

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值