精华内容
下载资源
问答
  • I am trying to shrink some jpeg images from 24X36 inches to 11X16.5 inches using the python image library. Since PIL deals in pixels this should mean scaling from 7200X 4800 pixels to 3300 X2200 pixel...

    I am trying to shrink some jpeg images from 24X36 inches to 11X16.5 inches using the python image library. Since PIL deals in pixels this should mean scaling from 7200X 4800 pixels to 3300 X2200 pixels, with my resolution set at 200 pixels/inch, however when I run my script PIL changes the resolution to 72 pixels/inch and I end up with a larger image than i had before.

    import Image

    im = Image.open("image.jpg")

    if im.size == (7200, 4800):

    out = im.resize((3300,2200), Image.ANTIALIAS)

    elif im.size == (4800,7200):

    out = im.resize((2200,3300), Image.ANTIALIAS)

    out.show()

    Is there a way to mantain my image resolution when I'm resizing my images?

    thanks for any help!

    解决方案

    To preserve the DPI, you need to specify it when saving; the info attribute is not always preserved across image manipulations:

    dpi = im.info['dpi'] # Warning, throws KeyError if no DPI was set to begin with

    # resize, etc.

    out.save("out.jpg", dpi=dpi)

    展开全文
  • 使用 Python压缩图像到固定大小,并保证分辨率不变 关键点: 使用 PIL 库,通过save函数调整图像质量,达到降低存储大小目的。 **img.save(output_name, quality=quality) quality参数: 保存图像的质量,值的范围...

    压缩图像

    使用 Python压缩图像到固定大小,并保证分辨率不变
    关键点:
    使用 PIL 库,通过save函数调整图像质量,达到降低存储大小目的。
    img.save(output_name, quality=quality)

    • quality参数: 保存图像的质量,值的范围从1(最差)到95(最佳)。 默认值为75,使用中应尽量避免高于95的值; 100会禁用部分JPEG压缩算法,并导致大文件图像质量几乎没有任何增益。
    • subsampling参数:子采样,通过实现色度信息的分辨率低于亮度信息来对图像进行编码的实践。 (参考:https://en.wikipedia.org/wiki/Chroma_subsampling)
      可能的子采样值是0,1和2,对应于4:4:4,4:2:2和4:1:1(或4:2:0?)。经过实践将值设为0便可以满足图片大小增大的需求。

    函数说明:
    以下方法的参数只针对于保存为JPG/JPEG格式的图片的情况。

    from PIL import Image
    import os
    
    def get_size(filename):
        # Obtain the file size: KB
        size = os.path.getsize(filename)
        return size / 1024
    
    def compress_image(img_path, out_path, mb=50, step=5, quality=100):
        """不改变图片尺寸压缩图像大小
        :param img_path: 压缩图像读取地址
        :param out_path: 压缩图像存储地址
        :param mb: 压缩目标,KB
        :param step: 每次调整的压缩比率
        :param quality: 初始压缩比率
        :return: 压缩文件地址,压缩文件大小
        """
        o_size = get_size(img_path)
        if o_size < mb:
            return Image.open(img_path)
    
        img = Image.open(img_path)
    
        while o_size > mb:
            img = Image.open(img_path)
            img = img.convert('RGB')
            img.save(out_path, quality=quality)
            if quality - step < 0:
                break
            quality -= step
            o_size = get_size(out_path)
    
        print('File size: ' + str(o_size))
        return img
    
    if __name__ == '__main__':
        print("Compress image ...")
        img_path = 'test.png'
        out_path = 're.jpg' # 必须是 jpeg 类型
        img = compress_image(img_path, out_path)
        img.save('re2.jpg', quality=95) # 使用quality=95保证图像大小经过存储后不变
        print("Compress success!")
    
    展开全文
  • 2.将这组图片降低分辨率为一组图像Image23.通过各种神经网络结构,将Image2超分辨率重建为Image3(Image3和Image1分辨率一样)4.通过PSNR等方法比较Image1和Image3,验证超分辨率重建的效果,根据效果调节神经网络中的...
  • 在一些网上报名的时候,经常会遇到上传1寸图片,但是图片大小往往有限制,于是想用Python来实现让图片符合大小。 关于Pillow与PIL 可参考:https://blog.csdn.net/dcz1994/article/details/71642979 提供一个...

    在一些网上报名的时候,经常会遇到上传1寸图片,但是图片大小往往有限制,于是想用Python来实现让图片符合大小。

    关于Pillow与PIL 可参考:https://blog.csdn.net/dcz1994/article/details/71642979

    提供一个Pillow快速下载的链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pillow

    # coding=utf-8
    from PIL import Image
    import glob,os
    
    #处理图片大小信息为kb
    def get_FileSize(picture):
        f1 = os.path.getsize(picture)
        f2 = f1/float(1024)
        return f2
    
    #按比例减小分辨率
    def small(SIZE):
        SIZE *= 0.99
        return SIZE
    
    a=float(input("图片大小限制kb:"))
    
    #处理过程
    for infile in glob.glob('*.jpg'):
        file,ext = os.path.splitext(infile)
        im = Image.open(infile)
        
    #获取图片像素
        b = get_FileSize(infile)
        size = im.size
        size1,size2 =size
        
    #循环至达到要求
        while b>a:
            size1,size2 = small(size1),small(size2)
            size = size1,size2
            im.thumbnail(size,Image.ANTIALIAS)
            im.save(file+'add.jpg','jpeg')
            b=get_FileSize(file+'add.jpg')
    
    
    

     

    展开全文
  • import cv2 #opencv读取的格式是BGR import matplotlib.pyplot as plt 导入需要的包 img=cv2.imread('img005.jpg') img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB) 读入图片,并把图片转为rgb格式,因为matplotlib...
    import cv2 #opencv读取的格式是BGR
    import matplotlib.pyplot as plt
    

    导入需要的包

    img=cv2.imread('img005.jpg')
    img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
    

    读入图片,并把图片转为rgb格式,因为matplotlib展示图片要rgb格式

    img.shape
    

    输出(768, 1024, 3)

    BiCubic_small =  cv2.resize(img,(int(img.shape[1]*0.5),int(img.shape[0]*0.5)),interpolation=cv2.INTER_CUBIC)
    BiCubic_big = cv2.resize(BiCubic_small,(1024,768),interpolation=cv2.INTER_CUBIC)
    
    # BiCubic_interpolation = cv2.resize(img,(img.shape[1]*2,img.shape[0]*2),interpolation=cv2.INTER_CUBIC)
    plt.subplot(131)
    plt.imshow(BiCubic_small)
    plt.title(BiCubic_small.shape)
    plt.subplot(132)
    plt.imshow(BiCubic_big)
    plt.title(BiCubic_big.shape)
    plt.subplot(133)
    plt.imshow(img)
    plt.title(img.shape)
    plt.show()
    
    diff1 = img - BiCubic_big
    mse = np.mean(np.square(diff1))
    psnr = 10 * np.log10(255 * 255 / mse)
    
    print(psnr)
    

    输出结果为:
    在这里插入图片描述

    展开全文
  • 目录图像感知与获取一个简单的成像模型图像取样和量化空间分辨率和灰度分辨率 图像感知与获取 一个简单的成像模型 我们用形如 f(x,y)f(x,y)f(x,y) 的二维函数来表示图像。在空间坐标 (x,y)处f(x, y)处 f(x,y)处f的值...
  • python-图像金字塔及图像梯度一、图像金字塔1.相关概念2.高斯金字塔2.1 向下采样2.2 向上采样原理2.3 向上采样2.4 采样可逆性3.拉普拉斯金字塔二、图像梯度1.相关函数2.Sobel算子2.Scharr算子 一、图像金字塔 1....
  • 数字图像处理与Python实现笔记摘要绪论1 数字图像处理基础知识2 彩色图像处理初步3 空间滤波4 频域滤波5 图像特征提取6 图像压缩7 图像小波变换与多分辨率 摘要 简要介绍数字图像处理涉及的一些基本概念、基本运算...
  • 引言前面的文章中,我们有用过图像方法或者缩小的函数 resize() ,这个函数既可以放大图像,也可以缩小图像,其中:缩小图像:一版使用 CV_INETR_AREA (区域插值)来插值。放大图像,一般使用 CV_INTER_LINEAR (线性...
  • python skimage图像处理

    2020-07-29 21:11:34
    python skimage图像处理(一) jiandanjinxin关注 22017.09.26 14:31:04字数 5,913阅读 103,968 本文转自python数字图像处理 基于python脚本语言开发的数字图片处理包,比如PIL,Pillow, opencv, scikit-image等...
  • python改变图片的分辨率

    千次阅读 2020-05-23 18:31:50
    这里使用Python代码做一个简单的功能,基于PIL库改变图片的分辨率。代码也不多,这里就不多做介绍了 代码实现 from PIL import Image def ResizeImage(filein, fileout, scale=1): """ 改变图片大小 :param ...
  • 除了opencv专门用来进行图像处理,可以进行像素级、特征级、语义级、应用级的图像处理外,python中还有其他库用来进行简单的图像处理,比如图像的读入和保存、滤波、直方图均衡等简单的操作,下面对这些库进行详细的...
  • python-图像金字塔

    千次阅读 2019-03-27 20:09:57
    Opencv里面金字塔和resize函数都是有关图像分辨率的问题。我们经常会将某种尺寸的图像转换为其他尺寸的图像,如果放大或者缩小图片的尺寸,笼统来说的话,可以使用OpenCV为我们提供的如下两种方式: <1> ...
  • 因本人刚开始写博客,学识经验有限,...本文转自 python数字图像处理 基于python脚本语言开发的数字图片处理包,比如PIL,Pillow, opencv, scikit-image等。 PIL和Pillow只提供最基础的数字图像处理,功能有限;ope...
  • Python图像处理1

    千次阅读 2016-09-25 23:52:24
    需要指出的是,大多数滤波器在降低噪声的同时也造成了了边缘强度的损失,因此,在增强边缘和降低噪声之间需要一个折衷的选择; (2)图像增强:增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将邻域...
  • opencv图像处理基础总结,图像金字塔实现对图像的采样;图像梯度(Sobel算子、Scharr算子和拉普拉斯算子);Canny算法对图像进行边缘检测。
  • Pydicom是一个用于处理DICOM格式文件的Python包,可以处理包括如医学图像(CT等)、报告等。Pydicom支持DICOM格式的读取:可以将dicom文件读入python结构,同时支持修改后的数据集可以再次写入DICOM格式文件。但需要...
  • python skimage图像处理(一) This blog is from:https://www.cnblogs.com/wangxiaocvpr/p/11656603.html 基于python脚本语言开发的数字图片处理包,比如PIL,Pillow, opencv, scikit-image等。 PIL和Pillow只...
  • 引言前面的文章中,我们有用过图像方法或者缩小的函数 resize() ,这个函数既可以放大图像,也可以缩小图像,其中:缩小图像:一版使用 CV_INETR_AREA (区域插值)来插值。放大图像,一般使用 CV_INTER_LINEAR ...
  • 一般情况下,我们要处理是一副具有固定分辨率图像。但是有些情况下,我们需要对同一图像的不同分辨率的子图像进行处理。比如,我们要在一幅图像中查找某个目标,比如脸,我们不知道目标在图像中的尺寸大小。这种...
  • 一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。金字塔的底部是待处理图像的高分辨率表示,而顶部是低...
  • 这是“Python1024-自动化办公”的第6篇:图像文件处理。 整个系列涵盖Python处理文本文件、PDF、Word、Excel、PPT、图像、音频、视频、邮件、企业办公机器人等职场办公实用场景。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,444
精华内容 1,777
关键字:

python降低图像分辨率

python 订阅