在很多的相机和图像处理程序上都有给图片添加特效的功能,例如将图片转为黑白色、添加柔光滤镜或者改变图像的风格之类。那么最近刚好有小伙伴想要知道python中彩色图像如何转为黑白图像,那么今天正好就来给大家分享一下这个方法,往下看看吧。
1.python处理图像可以使用很多不同的库和模块,而这次需要使用到的是第三方库numpy,以及库Pillow中的模块Image,导入模块的代码如下:
import numpy as np from PIL import Image
2.模块导入之后就要去调用open()方法将图像加载到python程序之中,并且以链式方法同时调用convert()来以RGB彩色图像模式将其打开。并且还需要用asarray()方法将打开之后的图像转为数组类型。这样就可以直接通过修改值来将其转为黑白色了,代码如下:
im = np.asarray(Image.open(’文件路径’).convert('RGB'))
3.图像读取完成之后需要使用array()方法生成一个二维数组,数组里面需要有三个一维数组。并且这些一维数组里面的值都是一样的,它们表示是将图像转为黑白色时需要进行点乘的参数。因为这些数值还需要和图像原本的RGB值相乘,示例如下:
trans = np.array([[0.299,0.587,0.114],[0.299,0.587,0.114],[0.299,0.587,0.114]]).transpose() im = np.dot(im,trans)
3.经过了点乘计算之后的im对象内就是已经转为黑白图像的数组,这个数组还需要经过类型转换才可以真正的变为能够显示的黑白图像,代码如下:
Image.fromarray(np.array(im).astype('uint8'))
以上就是关于“Python怎么将图片变为黑白色?Python彩色图像如何转为黑白图”的全部内容了,希望对你有所帮助。