精华内容
下载资源
问答
  • Python Pillow (PIL) Image.save 保存为jpg图片压缩问题

    万次阅读 多人点赞 2018-10-23 16:41:49
    在使用Pillow中的Image.save()方法,使用默认参数保存jpg图片的过程中发现图片被压缩的很严重,导致原来很大的大小变成几十K。这是因为在保存为jpg的过程中,内部使用压缩算法对图片进行的压缩处理。 但是有些时候...

    在使用Pillow中的Image.save()方法,使用默认参数保存jpg图片的过程中发现图片被压缩的很严重,导致原来很大的大小变成几十K。这是因为在保存为jpg的过程中,内部使用压缩算法对图片进行的压缩处理。

    但是有些时候往往需要图片的大小不能变化太大或不能太小。所以在使用此方式时可以加入参数:

    imObj.save(img_name, quality=95)

    quality参数: 保存图像的质量,值的范围从1(最差)到95(最佳)。 默认值为75,使用中应尽量避免高于95的值; 100会禁用部分JPEG压缩算法,并导致大文件图像质量几乎没有任何增益。

    使用此参数后,图片大小会增加。如果图片的大小还不能满足你的需求,是否还有其他方式去增加图片大小呢?

    通过查阅资料并尝试,发现save方法还有一个可以配合quality使用的参数,能够大大增加图片大小:

    imObj.save(new_name, quality=95, subsampling=0)

    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格式的图片的情况。

    参考文档:https://pillow.readthedocs.io/en/5.1.x/handbook/image-file-formats.html#jpeg

    参考文档:https://pillow.readthedocs.io/en/4.0.x/PIL.html


    有趣有料有温度,和我一起学技术!

    欢迎关注公众号 来思Go,收看更多赖克与甜甜的技术学习日常。

    展开全文
  • 简介 ImageAI是一个python的库,它能使开发人员用简单几行代码构建具有深度学习和计算机视觉功能的应用程序和系统。...今天首先介绍一下使用imageai的准备工作,安装以及简单的实现image predicti...

    简介
    ImageAI是一个python的库,它能使开发人员用简单几行代码构建具有深度学习和计算机视觉功能的应用程序和系统。它是由Moses Olafenwa和John Olafenwa两位开发并维护。
    具体git地址:https://github.com/OlafenwaMoses/ImageAI
    今天首先介绍一下使用imageai的准备工作,安装以及简单的实现image prediction
    (以下内容git中都有详细介绍)


    准备工作

    首先当然是python,imageai暂时只支持3.5.1或之后的版本,一般都是用3.6吧
    还有以下这些:
    Tensorflow>=1.4.0
    Numpy >=1.13.1
    SciPy >=0.19.1
    OpenCV
    Pillow
    Matplotlib
    h5py
    Keras 2.x

    pip3 install xxx
    


    安装
    做好准备工作后就是安装了,可以直接使用pip3安装 如下

    pip3 install https://github.com/OlafenwaMoses/ImageAI/releases/download/2.1.0/imageai-2.1.0-py3-none-any.whl 
    

    当然也可以将[imageai-2.1.0-py3-none-any.whl](https://github.com/OlafenwaMoses/ImageAI/releases/download/2.1.0/imageai-2.1.0-py3-none-any.whl)下载之后安装 ``` pip3 install C:\User\MyUser\Downloads\imageai-2.1.0-py3-none-any.whl ```

    Image Prediction
    安装完之后进入正题,图像内容的预测。
    ImageAI提供4种不同的算法和模型来进行图像预测,并在ImageNet-1000数据集上进行了训练。4种算法包括SqueezeNet,ResNet,InceptionV3和DenseNet。
    这里也提供了四种模型训练好后的文件。

    好了,选一个模型,将训练好后的内容下载下来就可以开始简单的图像预测啦!

    prediction.py

    from imageai.Prediction import ImagePrediction
    import os
    import time
    #计时
    start = time.time()
     
    #当前路径 包含需要预测的图片,模型文件
    execution_path = os.getcwd()
     
    #创建预测类
    prediction = ImagePrediction()
     
    #设置预测模型 有以下四种
    #SqueezeNet
    #prediction.setModelTypeAsSqueezeNet()
    #prediction.setModelPath(os.path.join(execution_path, "squeezenet_weights_tf_dim_ordering_tf_kernels.h5"))
     
    #ResNet50
    #prediction.setModelTypeAsInceptionV3()
    #prediction.setModelPath(os.path.join(execution_path, "inception_v3_weights_tf_dim_ordering_tf_kernels.h5"))
     
    #InceptionV3
    #prediction.setModelTypeAsResNet()
    #prediction.setModelPath(os.path.join(execution_path, "resnet50_weights_tf_dim_ordering_tf_kernels.h5"))
     
    #DenseNet121
    prediction.setModelTypeAsDenseNet()
    prediction.setModelPath(os.path.join(execution_path, "DenseNet-BC-121-32.h5"))
     
    prediction.loadModel()
     
    #预测图片,以及结果预测输出数目
    predictions, probabilities = prediction.predictImage(os.path.join(execution_path, "1.jpg"), result_count=5 )
     
    #结束计时
    end = time.time()
     
    #输出结果
    for eachPrediction, eachProbability in zip(predictions, probabilities):
        print(eachPrediction," : ", eachProbability)
     
    print ("\ncost time:",end-start)
    

    看着代码去掉注释 只用了大概十行作用就可以完成图像的预测了

    先使用了git上提供的图片
    car

    我用四种模型都跑了一下 结果如下

    ---squeezenet_weights_tf_dim_ordering_tf_kernels.h5---
    sports_car : 45.9977924823761
    convertible : 38.13416361808777
    grille : 7.812434434890747
    minivan : 2.406269498169422
    pickup : 2.211885526776314
    
    cost time: 6.432089567184448
    
    ---inception_v3_weights_tf_dim_ordering_tf_kernels.h5---
    convertible : 96.45639061927795
    sports_car : 3.52620966732502
    beach_wagon : 0.010831362305907533
    car_wheel : 0.003940704118576832
    pickup : 0.0006548482815560419
    
    cost time: 15.786875247955322
    
    ---resnet50_weights_tf_dim_ordering_tf_kernels.h5---
    convertible : 52.459555864334106
    sports_car : 37.61284649372101
    pickup : 3.1751200556755066
    car_wheel : 1.817505806684494
    minivan : 1.7487050965428352
    
    cost time: 24.41988778114319
    
    ---DenseNet-BC-121-32.h5---
    sports_car : 64.85629677772522
    convertible : 13.065926730632782
    beach_wagon : 8.915219455957413
    car_wheel : 6.854388862848282
    grille : 2.4432314559817314
    
    cost time: 24.5520977973938
    

    大概率都预测出了是跑车或是敞篷车。

    我也随便挑了张照片 试了一试
    二哈
    结果

    Siberian_husky : 87.60582208633423 西伯利亚雪橇犬(二哈)
    Eskimo_dog : 12.393762916326523 爱斯基摩犬
    malamute : 0.00020242005120962858 阿拉斯加雪橇犬
    dogsled : 0.00015880526689215912
    Norwegian_elkhound : 6.489584336577536e-06
    
    cost time: 20.758772611618042
    

    结果还是不错的 ヽ( ̄▽ ̄)ノ

    除此之外,git上还介绍了多张图的预测,预测速度的改变,多线程操作等。这里就不解释了,改动并不是很大。
    今天暂时就到这儿吧,imageai还有图片物体检测/分隔,视频中物体检测和跟踪等等以后再继续介绍啦

    代码以及模型文件我都放在了网盘上,有需要可以自行下载
    链接: https://pan.baidu.com/s/13hUoa_0d3tla5d2pTfD1OA 提取码: qne5

    后续:
    ImageAI (二) 使用Python快速简单实现物体检测 Object Detection
    ImageAI (三) 使用Python快速简单实现视频中物体检测 Video Object Detection and Tracking

    展开全文
  • Image.fromarray的用法(实现array到image的转换)

    万次阅读 多人点赞 2020-01-07 14:45:55
    一、Image.fromarray的作用:实现array到image的转换 二、PIL中的Image和numpy中的数组array相互转换: 1. PIL image转换成array 2. array转换成image 一、Image.fromarray的作用: 简而言之,就是实现array...

    目录:

    一、Image.fromarray的作用:实现array到image的转换

    二、PIL中的Image和numpy中的数组array相互转换:

           1. PIL image转换成array

           2. array转换成image


    一、Image.fromarray的作用

    • 简而言之,就是实现array到image的转换

    二、PIL中的Image和numpy中的数组array相互转换:

    1. PIL image转换成array

    img = np.asarray(image)

    需要注意的是,如果出现read-only错误,并不是转换的错误,一般是你读取的图片的时候,默认选择的是"r","rb"模式有关。

    修正的办法: 手动修改图片的读取状态

    img.flags.writeable = True  # 将数组改为读写模式

    2. array转换成image

    Image.fromarray(np.uint8(img))

     

    展开全文
  • Python+PIL.Image改变图片的分辨率

    万次阅读 2021-05-01 12:55:01
    文章目录前言一、代码二、结果展示总结 前言 将任意分辨率的图像修改为指定分辨率的图像。 一、代码 函数代码: from PIL import Image def ResizeImage(file_in, file_out,w,h): ... img = Image.


    前言

    将任意分辨率的图像修改为指定分辨率的图像。


    一、代码

    函数代码:

    from PIL import Image
     
    def ResizeImage(file_in, file_out,w,h):
        """
        改变图片分辨率
        :param file_in: 输入图片
        :param file_out: 输出图片
        :param w: 输出图片宽
        :param h: 输出图片高
        """
        img = Image.open(file_in)
        #输出图片指定宽高
        out = img.resize((w, h), Image.ANTIALIAS)
        # 第二个参数:
        # Image.NEAREST :低质量
        # Image.BILINEAR:双线性
        # Image.BICUBIC :三次样条插值
        # Image.ANTIALIAS:高质量
        out.save(file_out)
    

    传参测试:
    分辨率变小:

    filein = r'D:/PyCharm_Community_Edition/pytorch-cnn-visualizations-master/input_images/0.bmp'
    fileout = r'D:/PyCharm_Community_Edition/pytorch-cnn-visualizations-master/input_images/1.bmp'
    h=224
    w=224
    ResizeImage(filein, fileout,w,h)
    

    分辨率变大:

    filein = r'D:/PyCharm_Community_Edition/pytorch-cnn-visualizations-master/input_images/0.bmp'
    fileout = r'D:/PyCharm_Community_Edition/pytorch-cnn-visualizations-master/input_images/1.bmp'
    h=500
    w=500
    ResizeImage(filein, fileout,w,h)
    

    二、结果展示

    输入图片:425×416
    在这里插入图片描述
    输出图片:224×224
    在这里插入图片描述
    输出图片:500×500
    在这里插入图片描述

    总结

    可以通过改变file_out目录后缀来改变输出图片类型.png.jpg等等。

    展开全文
  • 生命不止,继续 go go go !!!golang同样为我们提供了很多关于图片...Package image implements a basic 2-D image library. image包实现了一个基本的2D图像库.方法: func NewNRGBAfunc NewNRGBA(r Rectangle) *NRGBA
  • Python图像库PIL的类Image及其方法介绍

    万次阅读 多人点赞 2018-11-06 23:00:43
    Python图像库PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。其官方主页为:PIL。 PIL历史悠久,原来是只支持python2.x的...
  • elementui el-image image图片

    千次阅读 2019-12-09 15:34:26
    <div class="demo-image__preview"> <el-image ref="lazyImg" //绑定ref 可以查看自带的属性 和 方法 lazy //是否懒加载 class="vx-lazyLoad" // class名称 可以编辑样式 :src=...
  • Docker - Docker ImageImage命令详解

    千次阅读 2020-11-22 12:54:55
    Docker学习(二)- Docker ImageImage命令详解 什么是镜像(Image) Docker镜像(Docker Image)就是一个只读的模板。比如,一个镜像可以包含一个完整的Ubuntu操作系统环境。镜像可以用来创建Docker容器。 在...
  • Unity3d随笔之RawimageImage

    千次阅读 2020-01-11 02:29:36
    unity3d中的RawimageImage RawimageImage 简单介绍 unity里面提供了两种图片相关的组件,一个是Image,一个是Rawimage,下面我们主要来简单介绍一下这两个组件。首先说ImageImage组件的Source Image指向的...
  • UGUI内核大探究(九)Image与RawImage

    万次阅读 多人点赞 2016-09-16 20:56:35
    Image组件是UGUI里最常用的组件(可能没有之一),我们知道其实还有一个RawImage组件。那么二者的区别是什么呢?之前的文章UGUI内核大探究(八)MaskableGraphic中我们提到过,二者(连同Label)都继承自...
  • IDEA安装Background Image Plus插件

    万次阅读 2018-05-14 23:56:55
    IDEA安装Background Image Plus插件:打开IDEA:file-&gt;settings-&gt;plugins 搜索Background Image Plus,点击安装安装完后,提示我们重启,重启后点击view-》set Background image打开后选择图片路径,...
  • 问题 在 Docker 中删除 image 时有时会遇到类似 ...这样的错误,原因是有另外的 image FROM 了这个 image,可以使用下面的命令列出所有在指定 image 之后创建的 image 的父 image docker ima..
  • docker image 重命名

    千次阅读 2019-08-04 11:51:50
    docker image 名称不小心写错了,例如想命名为 ubuntu1604-arm-qt,写成了 unbuntu1604-arm-qt。如何改回来? 用 docker tag 重命名 docker images 找到image_id 找到此 image id 是 efeb4214cfc4。 haojc@ubuntu:~/...
  • 区别 image.shape[0],image.shape[1],image.shape[2]

    万次阅读 多人点赞 2018-11-21 14:04:18
    image.shape[0], 图片垂直尺寸 image.shape[1], 图片水平尺寸 image.shape[2], 图片通道数
  • sparse image

    千次阅读 2016-09-12 21:41:20
    使用这个参数制作出来的镜像就是sparse image。当时不明白是什么意思,所以查找了一下并记录下来。 简单地来说,sparse image是一种需要多少空间就分配多少的镜像(虚拟机的磁盘镜像文件就是这种镜像,虽然安装系统...
  • tf.image.convert_image_dtype(image, dtype)

    千次阅读 2018-01-04 10:43:09
    前几天把网上找的一个检测抓取框的代码改成ROS node发现结果一直很离谱,抓取框坐标比图片还大,今天突然想起来又看了看代码,发现了问题出在tf.image.convert_image_dtype(image, dtype)这个函数在进行类型转换时...
  • Pillow Image 填充图像

    千次阅读 2018-07-02 10:34:29
    在检测中,需要把原始图像转换为,与目标尺寸匹配的图像,保持等比例,其余部分用灰色填充。 pad_image步骤: 计算按目标图像缩放之后的宽高;...def pad_image(image, target_size): iw, ih = image.s...
  • Tensorflow tf.image.decode_image图片解码

    千次阅读 2019-01-26 23:45:45
    Tensorflow tf.image.decode_image图片解码 tf.image.decode_image图片解码返回空的shape tf.image 中解码图像的 API: tf.image.decode_png, tf.image.decode_jpeg, tf.image.decode_gif tf.image.decode_image...
  • Matlab中image函数用法

    万次阅读 多人点赞 2021-01-10 12:07:10
    image从数组显示图像 语法 说明 示例 显示矩阵数据的图像 控制图像位置 显示三维真彩色数组的图像 创建后修改图像 读取并显示 JPEG 图像文件 向三维视图中的坐标区添加图像 输入参数 名称-值对组参数 ...
  • image.shape[0],image.shape[1],image.shape[2]

    万次阅读 多人点赞 2018-06-09 11:33:15
    import cv2image=cv2.imread("D:/shape.bmp")print(image.shape[0])print(image.shape[1])print(image.shape[2])结果3002003其中shape.bmp是一张水平200像素,垂直300像素的彩色图
  • 微信文件夹下imageimage2是微信表情图片的缓存文件夹,emoji是表情,然后还有很多个类似1a,1b,1c为这样的文件夹,每个文件夹下面也有很多这样的文件夹。 这两个目录里自动保存了微信聊天记录中的表情图片、微信...
  • ImagePicker

    千次阅读 2016-07-16 17:05:05
    1.用法 使用前,对于Android Studio的用户,可以选择添加: compile 'com.lzy.widget:imagepicker:0.3.0' //指定版本 compile 'com.lzy.widget:imagepicker:+' //最新... compile project(':imagepicker')
  • 小程序中cover-imageimage的区别

    万次阅读 2019-06-11 10:16:39
    cover-image中的图片会悬浮于顶层,当自己做一个弹出框时,其中的图片会显示在最上层,设置无效 image可以通过设置 z-index: -1 使图片置于底层,具体效果如下 这个是用cover-image的效果 这个是用image的...
  • Docker Image介绍

    千次阅读 2019-05-16 23:43:32
    什么是Image 文件和meta data的集合(root filesystem) 分层的,并且每一层都可以添加改变删除文件,成为一个新的image 不同的image可以共享相同的layer Image本身是read-only的 Image的获取方式 1.Build from ...
  • image.shape[0], 图片高 image.shape[1], 图片长 image.shape[2], 图片通道数
  • module 'Image' has no attribute 'Image'

    千次阅读 2018-11-05 16:37:00
    使用image_to_string(image)时出现如下错误: module ‘Image’ has no attribute ‘Image’ 单独运行一下image_to_string函数发现如下问题: 打开pytesseract.py文件,找到如下语句: try: import Image except ...
  • win10中Edge浏览器升级后崩溃 STATUS_INVALID_IMAGE_HASH

    万次阅读 多人点赞 2020-05-26 10:10:30
    Edge启动后什么网站都打不开,错误代码:STATUS_INVALID_IMAGE_HASH 百度了一下解决方案。 导致这个问题的原因是 Google 在79版本(2019年12月20号左右)的更新中又重新启用了Renderer Code Integrity ...
  • Python程序中PIL Image "image file is truncated"问题分析与解决解决方案错误原因这就解决了?继续探索truncated image再试一次总结 解决方案 第一种、删除截断图片 第二种、添加两行代码,如下 from PIL import ...
  • python PIL的Image.resize()和Image.thumbnail()函数的区别

    千次阅读 多人点赞 2019-05-27 09:29:40
    Image.resize()函数用于修改图片的尺寸。 Image.thumbnail()函数用于制作当前图片的缩略图。 resize() 函数是修改图片的size, resample参数传入采样算法, 一般使用高质量缩放的Image.LANCZOS参数。 thumbnail() ...
  • OpenCV的Image Watch插件安装与使用

    万次阅读 多人点赞 2018-10-26 15:23:51
    OpenCV的Image Watch插件安装与使用 说来惭愧,一直觉得OpenCV在调试方面不如MATLAB灵活方便,没成想OpenCV官方早就推出了一个叫Image Watch的插件可用于调试时显示和监视图像变量了。这里简单记录一下插件的下载...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,132,721
精华内容 853,088
关键字:

image