精华内容
下载资源
问答
  • 在使用django时不知道怎么保存图片,又不想用它的form ,在网上找了许久,终于找到个解决方案,利用PIL.image 将POST上来的图片保存到media目录下,然后再修改models     from PIL import Image screen_name = ...

    在使用django时不知道怎么保存图片,又不想用它的form ,在网上找了许久,终于找到个解决方案,利用PIL.image 将POST上来的图片保存到media目录下,然后再修改models

     

     

                from PIL import Image
                screen_name = request.POST.get('screen_name')
                mail =request.POST.get('mail')
                gender = request.POST.get('gender')
                img = request.FILES.get('image')
                img_file = Image.open(img)
    
                #保存图片
                path = MEDIA_ROOT + '/profile_img/'
                file = request.user.username + '_profile.jpg'
                img_file.thumbnail((200,200),Image.ANTIALIAS)
                img_file.save(path + file)
    
                #更改用户信息
                user_info = UsersInfo.objects.get(username=request.user.username)
                user_info.profile_img = '/media/profile_img/'+ file
                user_info.save()

     

    展开全文
  • python PIL保存图片出错的替方法

    千次阅读 2017-07-05 19:21:36
    一提到数字图像处理,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1、不开源,价格贵 ...这行代码不仅能保存图片,还是转换格式,如本例中,就由原来的png图片保存为了jpg图片。

    一提到数字图像处理,可能大多数人就会想到matlab,但matlab也有自身的缺点:

    1、不开源,价格贵

    2、软件容量大。一般3G以上,高版本甚至达5G以上。

    3、只能做研究,不易转化成软件。

    因此,我们这里使用python这个脚本语言来进行数字图像处理。

    要使用python,必须先安装python,一般是2.7版本以上,不管是在windows系统,还是linux系统,安装都是非常简单的。

    要使用python进行各种开发,就必须安装对应的库。这和matlab非常相似,只是matlab里面叫工具箱(toolbox),而python里面叫库或包。安装这些库,一般都是使用pip来安装。

    使用python进行数字图片处理,还得安装Pillow包。虽然python里面自带一个PIL(python images library), 但这个库现在已经停止更新了,所以使用Pillow, 它是由PIL发展而来的。

    pip install Pillow

    一、图片的打开与显示

    from PIL import Image
    img=Image.open('d:/dog.png')
    img.show()

    虽然使用的是Pillow,但它是由PIL fork而来,因此还是要从PIL中进行import. 使用open()函数来打开图片,使用show()函数来显示图片。

    这种图片显示方式是调用操作系统自带的图片浏览器来打开图片,有些时候这种方式不太方便,因此我们也可以使用另上一种方式,让程序来绘制图片。

    from PIL import Image
    import matplotlib.pyplot as plt
    img=Image.open('d:/dog.png')
    plt.figure("dog")
    plt.imshow(img)
    plt.show()

    这种方法虽然复杂了些,但推荐使用这种方法,它使用一个matplotlib的库来绘制图片进行显示。matplotlib是一个专业绘图的库,相当于matlab中的plot,可以设置多个figure,设置figure的标题,甚至可以使用subplot在一个figure中显示多张图片。matplotlib 可以直接安装

    pip install matplotlib

    figure默认是带axis的,如果没有需要,我们可以关掉

    plt.axis('off')

    打开图片后,可以使用一些属性来查看图片信息,如

    print img.size  #图片的尺寸
    print img.mode  #图片的模式
    print img.format  #图片的格式

    显示结果为:

    (558, 450)
    RGBA
    PNG

    二、图片的保存

    img.save('d:/dog.jpg')

    就一行代码,非常简单。这行代码不仅能保存图片,还是转换格式,如本例中,就由原来的png图片保存为了jpg图片。

    展开全文
  • 六、利用PIL进行图片的读取、处理、保存的完整代码 一、读取文件夹中的图片 for picture_name in os.listdir(directory_name): print(picture_name) # 读取图片名称及类型 file_name = directory_name + "/" ...

    目录

    一、读取文件夹中的图片

    二、打开指定文件夹图片

    三、进行图片处理

    四、进行显示图片

    五、进行图片保存

    六、利用PIL进行图片的读取、处理、保存 的完整代码


    一、读取文件夹中的图片

        for picture_name in os.listdir(directory_name):
            print(picture_name)  # 读取图片名称及类型
    
            file_name = directory_name + "/" + picture_name  # 读取文件夹地址+图片名称类型
            print(file_name)
    

    二、打开指定文件夹图片

    使用Image.open()打开指定文件夹图片图片

    square = Image.open(file_name)  # 打开指定文件夹图片

    三、进行图片处理

    使用PIL库的常用函数进行图片处理

    例如:

            squarel = square.filter(ImageFilter.CONTOUR)  # 进行轮廓效果——素描处理
            # squarel.show()
    
            squarelll = squarel.filter(ImageFilter.SMOOTH)  # 平滑处理
            # squarelll.show()
    
            squarellll = squarelll.filter(ImageFilter.EDGE_ENHANCE)  # 锐化处理
            # squarellll.show()
    
            enh_col = ImageEnhance.Color(squarellll)  # 进行对比度处理
            color = 1.5
            squarelllll = enh_col.enhance(color)
            # squarelllll.show()
    
            square_ll = ImageEnhance.Brightness(squarelllll)
            squarell = square_ll.enhance(0.8)  # 改变亮度
            # squarell.show()

    四、进行显示图片

    使用Image.show()显示图片

    squarel = square.filter(ImageFilter.CONTOUR)  # 进行轮廓效果——素描处理
    squarel.show()  # 进行图片显示

    五、进行图片保存

    保存指令为imgname.save(‘imgsavename“)。imgsavename可为保存文件夹地址, 注意路径斜杠反过来

            root = 'C:/Users/ASUS/Pictures/素描画'  # 保存地址
            path = root + "/" + picture_name  # 保存地址
    
            try:
                squarell.save(path, quality=95)
                print('图片保存成功,保存在' + root + "\n")
            except:
                print('图片保存失败')

    六、利用PIL进行图片的读取、处理、保存 的完整代码

    from PIL import Image
    from PIL import ImageFilter
    from PIL import ImageEnhance
    import os
    
    
    # 读取函数,用来读取文件夹中的所有函数,输入参数是文件名
    def read_directory(directory_name):
        for picture_name in os.listdir(directory_name):
            print(picture_name)  # 读取图片名称及类型
    
            file_name = directory_name + "/" + picture_name  # 读取文件夹地址+图片名称类型
            print(file_name)
    
            square = Image.open(file_name)  # 打开指定文件夹图片
            # square.show()
    
            squarel = square.filter(ImageFilter.CONTOUR)  # 进行轮廓效果——素描处理
            squarel.show()  # 进行图片显示
    
            squarelll = squarel.filter(ImageFilter.SMOOTH)  # 平滑处理
            # squarelll.show()
    
            squarellll = squarelll.filter(ImageFilter.EDGE_ENHANCE)  # 锐化处理
            # squarellll.show()
    
            enh_col = ImageEnhance.Color(squarellll)  # 进行对比度处理
            color = 1.5
            squarelllll = enh_col.enhance(color)
            # squarelllll.show()
    
            square_ll = ImageEnhance.Brightness(squarelllll)
            squarell = square_ll.enhance(0.8)  # 改变亮度
            # squarell.show()
    
            root = 'C:/Users/ASUS/Pictures/素描画'  # 保存地址
            path = root + "/" + picture_name  # 保存路径
    
            try:
                squarell.save(path, quality=95)    # quality为图片质量,65为最低,95为最高
                print('图片保存成功,保存在' + root + "\n")
            except:
                print('图片保存失败')
    
    
    if __name__ == '__main__':  # 主函数入口
        directory_name = "C:/Users/ASUS/Pictures/测试"  # 这里传入所要读取文件夹的绝对路径,加引号(引号不能省略!)
        read_directory(directory_name)
    

    最后展示几张图片及处理过后的效果:

    原图:

    处理后:

     

     

    展开全文
  • 利用PIL读取、转变、修改、展示、保存图片 from PIL import Image import numpy as np import cv2 image = Image.open('F:/360data/重要数据/桌面/att/050.png').convert('L') #读取并转换 GT = Image.open('F:/360...

    利用PIL读取、转变、修改、展示、保存图片

    from PIL import Image
    import numpy as np
    import cv2
    image = Image.open('F:/360data/重要数据/桌面/att/050.png').convert('L')  #读取并转换
    GT = Image.open('F:/360data/重要数据/桌面/GlandCeildata/0.png')
    #gt= Image.open('F:/360data/重要数据/桌面/GlandCeildata/train/Mask/0.bmp').convert('L')
    #gt= Image.open('F:/360data/重要数据/桌面/GlandCeildata/train/Mask/0.bmp')
    print(image.mode)
    print(GT.mode)
    print(image.size)
    print(GT.size)
    #print(gt.mode)
    img=np.array(image)
    #
    print(img)
    #print(img.shape)
    #i=np.array(GT)
    #print(i)
    #print(i.shape)
    image.show()
    '''grouptruth中需要将黑色转换为白色,而非黑色转变为黑色,黑色为感兴趣的区域'''
    for x in range(image.size[0]):
        for y in range(image.size[1]):
            #print (image.getpixel((x,y)))
            if image.getpixel((x,y))!=0:
                image.putpixel((x,y),0) # 置为黑点
                #blackXY.append((x,y))
            else:
                image.putpixel((x,y),255) # 置为白点
    image.show()
    img1=np.array(image)
    print(img1)
    image.save('F:/360data/重要数据/桌面/att/050_1.png') #保存
    
    
    展开全文
  • pass img.save('pic1.jpeg') # 如果直接保存png,电脑打开预览是正常的,但发送微信消息图片是全黑的 pic.Copy() img = ImageGrab.grabclipboard() img.save('pic1.png') PIL截图excel单元格,为什么保存后全黑呢?...
  • opencv 读取 PIL.Image读取图片的区别
  • 问题: 最近使用Python处理图片遇到的一个问题,使用Image模块读取图片并处理,之后再存回去之后发现...因此,我们在保存图片时只要将icc配置文件一同保存即可。 img.save('pic_name.jpg', icc_profile=img.info.get('i
  • 今天,想用PIL在bmp图片上画带颜色的矩形。代码如下: from PIL import Image,ImageDraw img = Image.open("test.bmp”) img = img.convert("RGB") draw = ImageDraw.Draw(img) draw.rectangle((100, 200, 300, 400...
  • python PIL 打开\显示\保存图像

    万次阅读 2019-05-12 18:55:02
    使用python进行数字图片处理,还...虽然python里面自带一个PIL(python images library), 但这个库现在已经停止更新了,所以使用Pillow, 它是由PIL发展而来的。 pip install Pillow 一、图片的打开与显示 fro...
  • 使用代码: #!/usr/bin/env python ...[图片说明](https://img-ask.csdn.net/upload/201707/31/1501485969_603726.png) 谢谢大家的建议,尽管没有解决我的问题。 我重新下载了PIL,然后就可以了
  • 像素点的值就代表了类别,因此不能有损失,否则就导致了类别不对了,但是我保存成jpg格式后,重新打开发现出现了大于总类别数的像素值,这些像素值是不可能在保存前产生的,我开始怀疑是PIL保存的问题,后来查了才...
  • PIL 图片操作 读取图片 img = Image.open(“a.jpg”) 显示图片 im.show() # im是Image对象,im是numpy类型,通过Image.fromarray(nparr, mode='RGB')函数转换为Image对象 ...保存图片 img.save(path) Im
  • Python Pillow (PIL) Image.save 保存为jpg图片压缩问题

    万次阅读 多人点赞 2018-10-23 16:41:49
    在使用Pillow中的Image.save()方法,使用默认参数保存jpg图片的过程中发现图片被压缩的很严重,导致原来很大的大小变成几十K。这是因为在保存为jpg的过程中,内部使用压缩算法对图片进行的压缩处理。 但是有些时候...
  • from PIL import Image label = Image.open('label.png') bin_colormap = np.random.randint(0, 255, (256, 3)) # 可视化的颜色 bin_colormap = bin_colormap.astype(np.uint8) visualimg = Image.fromarray(label,...
  • (1) PIL import os import numpy as np from tqdm import tqdm from PIL import Image for file in tqdm(os.listdir(path)): # 读取图像 img = np.array(Image.open(os.path.join(path, file))) (ids, ext) = os...
  • 该代码是保存3通道RGB格式的图片所以要写convert(‘RGB’) 注意!!!这里还要对文件乘以255,即“image*255”,否则保存图片是黑色的!!!原因是:图像imgae从0变为1,PIL需要一个值介于0和255之间的图像。在...
  • PIL】将数组转换为图像并保存

    千次阅读 2020-05-23 19:28:37
    参考自 from PIL import Image im = Image.fromarray(A) im.save("out.jpeg")
  • 今天小编就为大家分享一篇python将处理好的图像保存到指定目录下的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • png好像不支持0/1的单值图,所以将图片转化为0/255的单值图之后把图片数组用convert(‘L’)存为灰度图就可以正常地在文件管理器里看到了 原来的代码: img_temp=Image.fromarray(img_array_list[foo].astype('int'))...
  • 本文实例讲述了python使用PIL缩放网络图片保存的方法。分享给大家供大家参考。具体实现方法如下: ''' tk_image_view_url_io_resize.py display an image from a URL using Tkinter, PIL and data_stream also ...
  • numpy保存图片方法及速度对比 最近遇到一个问题,有大量小图片需要保存,分析了一下代码,发现写入图片这个操作很耗时。于是想对比几种存储方法的性能。 参赛选手有:opencv、matplotlib、PIL、imageio import ...
  • Python代码将原有的视频分割成图片,我的例子是一帧一帧的分割 用python+opencv完成视频的分割 import cv2 #导入opencv模块 print(2) #测试是否运行 vc=cv2.VideoCapture("test.mp4") #读取视频,(***.***)例子...
  • 使用如下代码 ...im0 = np.array(Image.open("E:/1/1.jpg").convert("L"))#灰度方式打开图片,并且转换为数组 im1 = 255 - im0#反变换 pil_im = Image.fromarray(np.uint(im1)) pil_im.save("E:/1/im1...
  • img = img.resize((x,y), ...#quality参数: 保存图像的质量,值的范围从1(最差)到95(最佳)。 默认值为75,使用中应尽量避免高于95的值; 100会禁用部分JPEG压缩算法,并导致大文件图像质量几乎没有任何增益 ...
  • python 用PIL库缩放图片 PIL库安装 pip install pillow 单个图片缩放 from PIL import Image imagepath = r'.\img\numbertest1.png' # 读取图片 image = Image.open(imagepath) ...# 保存图片 new_im.save('n

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,952
精华内容 8,380
关键字:

pil保存图片