我必须将图像从rgb比例转换为灰度图像,仅使用4行,在"插入代码部分",我可以使用CV做到这一点,但相反,我将彩色图像转换为黑白,通过计算rgb值的平均值。如果平均值接近255,则像素值设置为白色(255),否则设置为黑色(0)。为了转换为灰度图像,原则上像素值必须设置为RGB值的平均值。我应该为每个RGB值使用一个加权因子。
import matplotlib.pyplot
import numpy as np
myImage = matplotlib.pyplot.imread('flower.png')
height=myImage.shape[0]
width=myImage.shape[1]
for x in range(0, height-1):
for y in range(0,width-1):
#insert code
imgplot = matplotlib.pyplot.imshow(myImage)
matplotlib.pyplot.show()
你不需要一个循环。
mono = (myImage.mean(2) >= 128) * 255
还有一个更有效的选择:PIL
你可以使用
安装它pip install pillow \ pip3 install pillow
并使用import PIL
导入这个包有很多不同的方法将图像转换为黑白,但我建议最简单的方法:
from PIL import Image
file = "~/Pictures/Test.jpg"
img = Image.open(file)
img = img.convert("L")
img.save("~/Pictures/Test-baw.jpg")
如果您对其他方法感兴趣,也可以查看;)