Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 更改图像转换程序,使其在图像放入文件时自动运行?_Python_Automation_Python Imaging Library_Image Conversion - Fatal编程技术网

Python 更改图像转换程序,使其在图像放入文件时自动运行?

Python 更改图像转换程序,使其在图像放入文件时自动运行?,python,automation,python-imaging-library,image-conversion,Python,Automation,Python Imaging Library,Image Conversion,我用Python和PIL库编写了这段代码,它可以将任何图像转换为它的负版本 现在,我希望每当我在文件中放入新图像时,它都能自动完成。我怎么能这么做 import PIL from PIL import Image img = Image.open('pic1.png') colonne,ligne = img.size pixels = img.load() imgF = Image.new(img.mode,img.size) for i in range(ligne): for j

我用Python和PIL库编写了这段代码,它可以将任何图像转换为它的负版本

现在,我希望每当我在文件中放入新图像时,它都能自动完成。我怎么能这么做

import PIL
from PIL import Image

img = Image.open('pic1.png')
colonne,ligne = img.size
pixels = img.load()
imgF = Image.new(img.mode,img.size)
for i in range(ligne):
   for j in range(colonne):
   pixel = img.getpixel((j,i))
   p = (255 - pixel[0], 255 - pixel[1], 255 - pixel[2])
   imgF.putpixel((j,i), p)
imgF.save('neg4.png')
   

您可以执行以下两个选项: 首先,您需要:

添加代码以检测正在添加的新图像。这可以通过while循环和if语句轻松完成

然后,您需要执行以下三个操作之一:

1) 编写.bat脚本或.sh脚本来运行程序

2) 使用PyInstaller将脚本编译为.exe

3) 如果你愿意的话,你可以把它留给任何人

若你们想让它在电脑启动时自动运行,请留言

检测图像变化的代码:

dataOld = 0
while True:
    f = open("test.jpeg", "rb")
    data = f.read()
    if not data == dataOld:
        print("Image changed")
        print("Do work")
    f.close()

    dataOld = data

这个问题实际上是关于在文件更改时触发脚本。有关相关问题,请参见(Unix系统)。您还可以创建一个脚本来定期运行脚本。