【发布时间】:2014-01-10 01:02:51
【问题描述】:
class PPM(object):
def __init__(self, infile, outfile):
self.infile=infile
self.outfile=outfile
#Read in data of image
data= open(self.infile,"r")
datain=data.read()
splits=datain.split()
#Header info
self.type=splits[0]
self.columns=splits[1]
self.row=splits[2]
self.colour=splits[3]
self.pixels=splits[4:]
def greysscale():
for row in range(rows):
for column in range(columns):
r, g, b = image.getPixel(row, column)
brightness = int(round(0.299 * r + 0.587 * g + 0.114 * b))
image.setPixel(row, column, color_rgb(brightness, brightness, brightness))
def flattenred():
for colour in range (0,len(self.pixels),3):
self.pixels [colour]=str[0]
return picture
def writetofile(self):
dataout= open(self.outfile,"w")
dataout.write(self.type +"\n" + self.columns + "\n" + self.row +"\n"+ self.colour +"\n"+ " ".join (self.pixels))
sample= PPM("cake.ppm", "Replica.ppm")
sample.writetofile()
我在编写一个名为 gray_scale 的函数时遇到问题,该函数将通过对一个像素(红色、绿色和蓝色)的所有三个颜色数字的值进行平均,然后将它们全部替换为该平均值,将图片变为灰度图像.
因此,如果这三种颜色分别为 25、75 和 250,则平均值将为 116,所有三个数字都将变为 116。
我该怎么做?
【问题讨论】:
-
我假设您不允许为此使用
PIL/Pillow,对吧? -
我在这里给出的答案有什么问题? stackoverflow.com/questions/21031546/…
-
@M4rtini- 我什么都不懂,也不允许我使用 PIL/Pillow/numpy,我只有 12 岁,所以我对 Python 和图像编辑没有深入的了解
标签: python html css image image-processing