1. PIL方式打开的图片判断维度

     好久没更新啦,哈哈哈~~!今天跟宝宝们分享一篇如何判断灰度图像和彩色图像维度的方法。我们在读取灰度图像和彩色图像时,发现读取出来的图片维度不同,当我们要做后续操作的时候,很可能去人工判断,那样显得自己憨憨的,今天就帮各位宝宝解决这个问题啦!!!

  读取灰度图片,获取的格式是:(height, width),此时就只有两维了,灰度图像channel为1,就会被省略掉。读取彩色图片,获取的格式是:(height,width,channel),此时channel一般为3,会被保留下来。那么问题来了,在Python里面好像还没提供直接获取维度的方法,最多提供了Image.shape,单这就只能获取上诉说的(height, width)或(height,width,channel)这种格式信息,而不是直接得到一个2或者3。

  好啦,不多说啦,直接上code......

2. 例子

2.1 code

import numpy as np
from PIL import Image
from torchvision import transforms def get_Image_dim_len(image_dir):
image = Image.open(image_dir)
image_dim_len = len(np.array(image).shape)
image.show()
print("The dim of Image: ", image_dim_len) if __name__ == '__main__':
# 彩色图像
image_color = './test_datasets/1.jpg'
get_Image_dim_len(image_color)
# # 灰度图像
# image_gray = './test_datasets/2.jpg'
# get_Image_dim_len(image_gray)

2.2 结果展示

 

(a)彩色图像                             (b)灰度图像

图(a)的输出为:The dim of Image:  3

图(b)的输出为:The dim of Image:  1

3. 总结

  努力去爱周围的每一个人,付出,不一定有收获,但是不付出就一定没有收获! 给街头卖艺的人零钱,不和深夜还在摆摊的小贩讨价还价。愿我的博客对你有所帮助(*^▽^*)(*^▽^*)!

   如果客官喜欢小生的园子,记得关注小生哟,小生会持续更新(#^.^#)(#^.^#)。

  

  

Python PIL方式打开的图片判断维度的更多相关文章

  1. Python PIL 怎么知道写入图片格式的kb大小

    把图片数据写入一个IO,读这个IO的长度大小: #-*-coding:utf-8-*- from PIL import Image import io img = Image.open("1 ...

  2. Python,PIL压缩裁剪图片

    自己写了用来压缩 DC 照片的,批量处理整目录文件,非常方便.需要安装 PIL #!/usr/bin/env python import Image import os import os.path ...

  3. 使用Python PIL库中的Image.thumbnail函数裁剪图片

    今天,是我来到博客园的第五天,发现自己还没有头像,想着上传ubuntu系统中我很喜欢的一个背景图片来当头像,但是因为图片过大,上传失败了.那么,我们如何使用python中强大的PIL库来进行图片裁剪呢 ...

  4. 基于Python PIL实现简单图片格式转化器

    基于Python PIL实现简单图片格式转化器 目录 基于Python PIL实现简单图片格式转化器 1.简介 2.前期资料准备 2.1.1如何实现图片格式转换? 2.1.2如何保存需要大小的图片? ...

  5. Python文件使用“wb”方式打开,写入内容

    Python文件使用"wb"方式打开,写入字符串会报错,因为这种打开方式为:以二进制格式打开一个文件只用于写入.如果该文件已存在则将其覆盖.如果该文件不存在,创建新文件. 所以写入 ...

  6. 从url下载图片--java与python实现方式比较

    从url下载图片--java与python实现方式比较 博客分类: 技术笔记小点滴 javapython图片下载  一.java的实现方式 首先读取图片 //方式一:直接根据url读取图片 priva ...

  7. [Spark][python]以DataFrame方式打开Json文件的例子

    [Spark][python]以DataFrame方式打开Json文件的例子: [training@localhost ~]$ cat people.json{"name":&qu ...

  8. python 利用PIL库进行更改图片大小的操作

    python 是可以利用PIL库进行更改图片大小的操作的,当然一般情况下是不需要的,但是在一些特殊的利用场合,是需要改变图片的灰度或是大小等的操作的,其实用python更改图片的大小还是蛮简单的,只需 ...

  9. python PIL图像处理-图片上添加文字

    首先需要安装库pillow cmd安装命令:pip install pillow 安装完后,编写脚本如下: from PIL import Image, ImageDraw, ImageFont de ...

随机推荐

  1. Docker-本地镜像发布到阿里云

    1.先生成一个镜像 有两种发法:(1)写DockerFile (2)从容器创建一个新的镜像 docker commit [option] 容器ID 镜像名字:版本号 option 说明 :-a 作者 ...

  2. .NET Core使用AngleSharp网络数据采集

    环境: vs2019 .net core 3.1 angleSharp winform 安装:angleSharp 有这么一本Python的书: <<Python 网络数据采集>&g ...

  3. postman-5-授权

    授权 Inherit auth from parent 假设现在将一个文件夹添加到集合中.在授权选项卡下,默认授权类型就被设置为“从父继承授权”“从父继承授权”设置表示默认情况下此文件夹中的每个请求都 ...

  4. day62 作业

    熟练使用无名有名分组 urls.py url(r'^edit/(\d+)/',views.edit_user,name='edit'), views.py def edit_user(request, ...

  5. Python-break/continue

    break:用于终止整个循环 continue:用于终止本次循环,而不终止整个循环的执行

  6. flask 源码专题(二):请求上下文与全文上下文

    源码解析 0. 请求入口 if __name__ == '__main__': app.run() def run(self, host=None, port=None, debug=None, lo ...

  7. Flask 基础组件(三):路由系统

    1. 常见路由 @app.route('/user/<username>') @app.route('/post/<int:post_id>') @app.route('/po ...

  8. 数据可视化之PowerQuery篇(五)PowerQuery文本处理技巧:移除和提取

    https://zhuanlan.zhihu.com/p/64419762 每当拿到原始数据,不如意十有八九,快速准确的清洗数据也是必备技能,数据清洗正好是 PowerQuery 的强项,本文就来介绍 ...

  9. springboot使用maven命令打包jar及配置文件配置

    sspringboot项目如果不想每次修改配置文件就要重新打包jar的话,可以进行以下配置进行打包 1.在resources下新建assembly文件夹package.xml <?xml ver ...

  10. P1433 吃奶酪(洛谷)状压dp解法

    嗯?这题竟然是个绿题. 这个题真的不(很)难,我们只是不会计算2点之间的距离,他还给出了公式,这个就有点…… 我们直接套公式去求出需要的值,然后普通的状压dp就可以了. 是的状压dp. 这个题的数据加 ...