Python 我试图编写一个类对象来执行图像操作

Python 我试图编写一个类对象来执行图像操作,python,python-3.x,image,python-imaging-library,Python,Python 3.x,Image,Python Imaging Library,我相信在我找到最后一行代码之前,大部分代码都是正确的。我第一次写一个类方法。不确定如何指定图像位置 不知道该如何进行 从PIL导入图像 类图像\u播放对象: 定义初始自我,im名称: self.im\u name=im\u name def rgb_至_灰度_图像自身: im=Image.openself.im\u名称 im=im.转换为'LA' 返回即时消息 将图像像素编辑为白色 def loop_over_imageself: im=Image.openself.im\u名称 宽度、高度=i

我相信在我找到最后一行代码之前,大部分代码都是正确的。我第一次写一个类方法。不确定如何指定图像位置

不知道该如何进行

从PIL导入图像 类图像\u播放对象: 定义初始自我,im名称: self.im\u name=im\u name def rgb_至_灰度_图像自身: im=Image.openself.im\u名称 im=im.转换为'LA' 返回即时消息 将图像像素编辑为白色 def loop_over_imageself: im=Image.openself.im\u名称 宽度、高度=im尺寸 图像所有像素上的嵌套循环 温度=[] 对于rangewidth中的i: 对于范围内的j高度: temp.append255255为每个像素的RGB通道值追加一个元组 image\u out=image.newim.mode,im.size使用PIl创建新图像 image_out.putdatatemp使用临时列表创建映像 返回图像输出 obj=图像播放
实例化类时,必须传递映像的名称。在你的初始化中,你说它需要输入一个im名称

所以你会写这样的东西


obj=image\u play./image.png

我添加了以下代码,现在一切正常

pic = image_play('test.png')
picGray = pic.rgb_to_gray_image()
picGray.show()
picWhite = pic.loop_over_image()
picWhite.show()

将image\u play更改为image\u playfoo.png类init方法有一个必需的参数im\u name,您正在尝试创建一个类对象而不传递任何参数。现在我收到以下回溯:回溯最近的调用last:File C:/Users/Kelly/.PyCharmCE2019.1/config/scratch/scratch\u 1.py,第1行,在from PIL导入图像文件C:\ProgramData\Anaconda3\lib\site packages\PIL\Image.py中,第94行,在from中。导入_映像为核心导入错误:DLL加载失败:找不到指定的模块。进程结束,退出代码1来自您的回溯。您的操作系统上似乎安装了anaconda3和pycharm,因此这可能会在模块之间产生不兼容问题,因此请通过在项目解释器上进行检查,确保pycharm中安装了pillow。如果这对你不起作用,或者可能有帮助^_^
pic = image_play('test.png')
picGray = pic.rgb_to_gray_image()
picGray.show()
picWhite = pic.loop_over_image()
picWhite.show()