PIL 模块的 resize  操作:

1.  从文件中读取图片,然后  resize  大小:

import matplotlib.pyplot as plt
import numpy as np
from PIL import Image img=Image.open(r"1.jpg")
print("原图的height,weight分别为:", np.asarray(img).shape[:2])
plt.imshow(np.asarray(img))
plt.show() height, weight = (np.asarray(img).shape)[:2]
height = height//10
weight = weight//10
img2 = Image.Image.resize(img, (weight, height))
print("resized后图的height,weight分别为:", np.asarray(img2).shape[:2])
plt.imshow(np.asarray(img2))
plt.show()

2.  从字节码(Bytes)中读取图片,然后  resize  大小:

import matplotlib.pyplot as plt
import numpy as np
from PIL import Image
from io import BytesIO img = open("1.jpg", "rb").read() #读取序列化的二进制码
img = BytesIO( img )
img = Image.open( img )
print("原图的height,weight分别为:", np.asarray(img).shape[:2])
plt.imshow(np.asarray(img))
plt.show() height, weight = (np.asarray(img).shape)[:2]
height = height//10
weight = weight//10
img2 = Image.Image.resize(img, (weight, height))
print("resized后图的height,weight分别为:", np.asarray(img2).shape[:2])
plt.imshow(np.asarray(img2))
plt.show()

---------------------------------------------------

CV2 模块的 resize  操作:

读入图像

使用函数cv2.imread()来读取图像。图像应该在工作目录中,或者应该给出图像的完整路径。

imread(filename[, flags]) -> retval

函数imread从指定文件加载图像并返回一个numpy.ndarray对象类型像素值。 如果图像无法读取(由于文件丢失,权限不当,格式不受支持或格式无效),函数返回一个空矩阵

第二个参数是一个标志,用于指定应读取图像的方式。

  • cv2.IMREAD_COLOR:加载彩色图像。图像的任何透明度都将被忽略。这是默认标志。 flags=1
  • cv2.IMREAD_GRAYSCALE:以灰度模式加载图像 flags=0
  • cv2.IMREAD_UNCHANGED:加载包含Alpha通道的图像 flags=-1

注意

而不是这三个标志,你可以简单地传递整数1,0或-1。

取自于: https://blog.csdn.net/hubingshabi/article/details/80144706

CV2 读取图片,  CV2展示图片:

import matplotlib.pyplot as plt
import numpy as np
import cv2
# rgb图
img=cv2.imread(r"1.jpg", 1)
# 灰度图
#img=cv2.imread(r"1.jpg", 0) print("原图的height,weight分别为:", np.asarray(img).shape[:2])
#plt.imshow(np.asarray(img))
#plt.show()
cv2.imshow("img", mat=img)
cv2.waitKey (0) height, weight = (img.shape)[:2]
height = height//3
weight = weight//3
img2 = cv2.resize(img, (weight, height))
print("resized后图的height,weight分别为:", img2.shape[:2])
#plt.imshow(np.asarray(img2))
#plt.show()
cv2.imshow("img2", mat=img2)
cv2.waitKey (0)
cv2.destroyAllWindows()

CV2 读取图片,  matplotlib展示图片:   把cv2的bgr转换为rgb,然后展示。       [...,::-1]

import matplotlib.pyplot as plt
import numpy as np
import cv2
# rgb图
img=cv2.imread(r"1.jpg", 1)
# 灰度图
#img=cv2.imread(r"1.jpg", 0) print("原图的height,weight分别为:", np.asarray(img).shape[:2])
plt.imshow(np.asarray(img)[...,::-1])
plt.show() height, weight = (img.shape)[:2]
height = height//3
weight = weight//3
img2 = cv2.resize(img, (weight, height))
print("resized后图的height,weight分别为:", img2.shape[:2])
plt.imshow(np.asarray(img2)[...,::-1])
plt.show()

-----------------------------------------------------------------

参考网址:

https://blog.csdn.net/sinat_26917383/article/details/78559709

https://blog.csdn.net/hubingshabi/article/details/80144706

----------------------------

1.jpg

注:上面的代码均使用该图片(1.jpg)做测试。

--------------------------------

Python Pillow(PIL 第三方模块)和 cv2 (opencv第三方模块)对图片的 resize 操作 (缩放图片大小)的更多相关文章

  1. Python用Pillow(PIL)进行简单的图像操作

    Python用Pillow(PIL)进行简单的图像操作 颜色与RGBA值 计算机通常将图像表示为RGB值,或者再加上alpha值(通透度,透明度),称为RGBA值.在Pillow中,RGBA的值表示为 ...

  2. python base64 编解码,转换成Opencv,PIL.Image图片格式

    二进制打开图片文件,base64编解码,转成Opencv格式: # coding: utf-8 import base64 import numpy as np import cv2 img_file ...

  3. 图像处理基本工具——Python 环境下的 Pillow( PIL )

    由于笔者近期的研究课题与图像后处理有关,需要通过图像处理工具对图像进行变换和处理,进而生成合适的训练图像数据.该系列文章即主要记录笔者在不同的环境下进行图像处理时常用的工具和库.在 Python 环境 ...

  4. python Pillow 图片处理模块,好强大有没有

    python Pillow 图片处理模块,好强大有没有 Pillow 需要给 python 另外安装 第一个用法:https://www.cnblogs.com/ibingshan/p/1105739 ...

  5. 【Python】PIL模块

    Python自建库,在爬虫等基础应用中更加简单好记,做整理以备自查. 目录 Image模块 open类.Save类.format类.Mode类.convert类.Size类.Info类.new类.Co ...

  6. ❤️【Python从入门到精通】(二十六)用Python的PIL库(Pillow)处理图像真的得心应手❤️

    您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本篇重点介绍Python处理图像的标准库PIL库,处理图像真的的很方便. 干货满满,建议收藏,需要用到时常看看. 小伙伴们如有问题及需要,欢迎踊跃 ...

  7. 【python】import 模块、包、第三方模块

    xx.py文件,称为模块(module),把不同模块归整到一起的文件夹,叫做包(package) 不同包下的模块可以重名,但是都不能和系统内建模块重名 包里面一定要有个__init__.py文件,否则 ...

  8. 使用Python的PIL模块来进行图片对比

    使用Python的PIL模块来进行图片对比 在使用google或者baidu搜图的时候会发现有一个图片颜色选项,感觉非常有意思,有人可能会想这肯定是人为的去划分的,呵呵,有这种可能,但是估计人会累死, ...

  9. Python基础之模块:5、 第三方模块 requests模块 openpyxl模块

    目录 一.第三方模块的下载与使用 1.什么是第三方模块 2.如何安装第三方模块 方式一:pip工具 方式二:pycharm中下载 3.注意事项 1.报错并有警告信息 2.报错,提示关键字 3.报错,无 ...

  10. python基础篇 13-模块的导入 安装第三方模块

    一.模块 一个python文件就是一个模块 标准模块(内置模块) 第三方模块 需要自己安装的 自己写的 需要导入的 import 一个模块的实质: 实际上就是把一个py文件从头到尾执行了一遍,main ...

随机推荐

  1. SpringBoot系列(一)简介。

    概述: Spring Boot 可以简化spring的开发,可以快速创建独立的.产品级的应用程序. 特征: 快速创建独立的 Spring 应用程序 直接嵌入了Tomcat.Jetty或Undertow ...

  2. tampermonkey脚本 百度搜索屏蔽CSDN

    // ==UserScript==// @name         屏蔽CSDN// @namespace    http://tampermonkey.net/// @version      20 ...

  3. spring与设计模式之二单例模式

    网络上都说ApplicationContext是单例,但看了原始代码,我认为应该是一个错误的表达. 我们来看Spring6.x中用springboot创建一个程序的时候默认的applicationCo ...

  4. NXP i.MX 6ULL工业开发板硬件说明书( ARM Cortex-A7,主频792MHz)

    前  言 本文档主要介绍TLIMX6U-EVM评估板硬件接口资源以及设计注意事项等内容. 创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理 ...

  5. 使用64位Office2016处理万级数据的过程

    先放下载和安装教程https://mp.weixin.qq.com/s/5ym9950_NZROlN0s2ZmLTg 由于同事电脑在使用Mysql for Excel插件处理十万级数据,如下图: 爆出 ...

  6. Redis学习篇

    Redis 能用来做什么? 01 缓存 Redis 的最常用的用例是缓存,以加快网络应用的速度.在这种用例中,Redis 将经常请求的数据存储在内存中.它允许网络服务器频繁访问的数据.这就减少了数据库 ...

  7. Java 集合框架Collection

    集合容器主要用于保存对象,主要分类有三种List.Set.Map List有序.可重复的集合 常见的List有ArrayList.Vector.LinkedList等类 Set无序.不可重复 常见Se ...

  8. Java 对象转XML xStream 别名的使用 附下载方式

    下载方式 Maven方式 pom.xml中 <dependency> <groupId>xstream</groupId> <artifactId>xs ...

  9. vue中的插槽详解

    插槽(slot)插槽在vue中是一种很常见的写法,让父组件可以向子组件指定位置插入html结构,也是一种组件间通信的方式 一共有三种分类:默认插槽.具名插槽.作用域插槽,下面一一根据案例改造说明 1 ...

  10. 记一次使用python的selenium库爬取动态页面内容的经历

    安装与配置selenium 安装selenium库 pip install selenium 配置浏览器驱动(本次使用Google Chrome) 打开Chrome,在浏览器的地址栏,输入chrome ...