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. ShuffleNetV1/V2简述 | 轻量级网络

    ShuffleNet系列是轻量级网络中很重要的一个系列,ShuffleNetV1提出了channel shuffle操作,使得网络可以尽情地使用分组卷积来加速,而ShuffleNetV2则推倒V1的大 ...

  2. System.Timers.Timer(定时器)

    1.System.Timers命名空间下的Timer类.System.Timers.Timer类:定义一个System.Timers.Timer对象,然后绑定Elapsed事件,通过Start()方法 ...

  3. Redux的理解与使用

    一.什么是Redux? Redux是一个第三方状态管理的js库,它不仅仅可以适用于react框架,还可以用于其他的vue,auglar等框架.只不过react的生态中不包括一个状态管理的库而已,所以与 ...

  4. day35 socket套接字介绍

    目录 一.套接字发展史与分类 二.套接字工作流程 三.基于tcp的套接字 一.套接字发展史与分类 套接字起源于 20 世纪 70 年代加利福尼亚大学伯克利分校版本的 Unix,即人们所说的 BSD U ...

  5. display:inline-block 什么时候不会显示间隙?

    移除空格 使用margin负值 使用font-size:0 letter-spacing word-spacing

  6. java IO流 (六) 其它的流的使用

    1. 标准的输入输出流:System.in:标准的输入流,默认从键盘输入System.out:标准的输出流,默认从控制台输出 修改默认的输入和输出行为:System类的setIn(InputStrea ...

  7. 数据可视化之 图表篇(三)体验Power BI最新发布的AI图表:分解树

    在刚刚发布的11月更新中,PowerBI界面全新改版,采用和Office套件相似的Ribbon风格,除了这个重大变化,还发布了一个AI黑科技图表:分解树(Decomposition Tree). 无论 ...

  8. python 面向对象专题(二):类的空间问题、类与对象之间的关系、类与类之间的关系

    https://www.cnblogs.com/liubing8/p/11308127.html 目录 Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 1. 类的空间问题 ...

  9. python爬虫学习01--电子书爬取

    python爬虫学习01--电子书爬取 1.获取网页信息 import requests #导入requests库 ''' 获取网页信息 ''' if __name__ == '__main__': ...

  10. ETag简介与作用

    ETag简介与作用 一.ETag简介 ETag是URL的tag,用来标示URL对象是否改变.这样可以应用于客户端的缓存:服务器产生ETag,并在HTTP响应头中将其传送到客户端,服务器用它来判断页面是 ...