叶下珠

注册

 

发新话题 回复该主题

NumPy处理图像不香吗我用Python [复制链接]

1#
儿童白癜风 http://pf.39.net/bdfyy/tslf/191108/7597198.html

不知不觉中秋天悄悄的来了,天气开始转凉,每天匆匆忙忙的在路上,顾不得身边的变化,一抬眼,竟因秋叶久久驻足,今天我用Python把秋日里最美的景色做成了这种效果:NumPy做图像处理不香吗?先上图↓

一片落叶渲染了秋色;

一季落花沧桑了流年。

图像灰度处理

处理成三个通道的图像

在Python中进行图像处理,有三个工具:OpenCV、SciKit-Image和Pillow。

但是,这里我们将使用最简单的方法NumPy来进行图像处理。在对图像进行深度学习的时候,我们经常需要对图片进行处理,包括图像灰度、变色、翻转、压缩、截取等,此时就可以使用Numpy来处理。这也是学习NumPy的大好机会。

NumPy更像是一个魔方,它是Python数组计算、矩阵运算和科学计算的核心库,NumPy这个词来源于Numerical和Python两个单词。NumPy提供了一个高性能的数组对象,让我们轻松创建一维数组、二维数组和多维数组,以及大量的函数和方法,帮助我们轻松地进行数组计算,从而广泛地应用于数据分析、机器学习、图像处理和计算机图形学、数学任务等领域当中。

完整代码如下:

importnumpyasnpimportmatplotlib.pyplotaspltimg=plt.imread("tree1.jpg")#读取图片plt.imshow(img)#传入数组显示对应颜色#图像灰度处理#img为三维的数组,最高维是图像的高,次高维是图像的宽,最低维[R,G,B]是颜色值grayimg=np.array([0.,0.,0.])#灰度公式的固定值x=np.dot(img,grayimg)#将数组img(RGB颜色值)和数组n2(灰度公式的固定值)中的每个元素进行点乘运算plt.imshow(x,cmap="gray")#传入数组显示灰度plt.show()#显示图像#三个通道的图像R_img=img.copy()R_img[:,:,[0,2]]=0G_img=img.copy()G_img[:,:,[2,1]]=0B_img=img.copy()B_img[:,:,[0,1]]=0#创建子图fig,ax=plt.subplots(1,4)#显示图像ax[0].imshow(img)ax[1].imshow(R_img)ax[2].imshow(G_img)ax[3].imshow(B_img)#设置画布大小fig.set_size_inches(7,4)#自动调整子图参数,使之填充整个图像区域plt.tight_layout()plt.show()

推荐图书:

全彩版《Python数据分析从入门到实践》这本书对Numpy模块进行了详细的介绍,并配备了各种示意图,使读者轻松了解NumPy、学习NumPy。现在购买还享满减50哦~

点击购买《Python数据分析从入门到实践》

End

目前000+人已

分享 转发
TOP
发新话题 回复该主题