python读取图片的方式,以及将图片以三维数组的形式输出方法

yipeiwu_com6年前Python基础

近期做个小项目需要用到python读取图片,自己整理了一下两种读取图片的方式,其中一种用到了TensorFlow,(TensorFlow是基于python3 的)。代码及运行结果如下所示:

import numpy as np
from PIL import Image
import matplotlib.pyplot as plt

image = Image.open(r'C:\Users\Administrator\Desktop\data\train\forest_001.jpg')  #读取图片文件
plt.imshow(image)
plt.show()      #将图片输出到屏幕

image_arr = np.array(image)   #将图片以数组的形式读入变量
print (image_arr)

另一种读取图片的方式

# coding=utf-8
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

image_contents = tf.read_file(r'C:\Users\Administrator\Desktop\data\train\forest_001.jpg')  #读取文件

image = tf.image.decode_jpeg(image_contents, channels=3)   #解码jpeg

with tf.Session() as sess:
  sess.run(tf.global_variables_initializer())

  img=sess.run((image))     #img为三维数组
  print (img.shape)     #输出数组形状
  print (img)           #打印数组

  plt.imshow(img)    #显示数组
  plt.show()

结果为:

打印图片

输出的数组部分截图

以上这篇python读取图片的方式,以及将图片以三维数组的形式输出方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

大家都说好用的Python命令行库click的使用

一、前言 在本系列前面几篇文章中,我们分别介绍了 argparse 和 docopt 的主要功能和用法。它们各具特色,都能出色地完成命令行任务。argparse 是面向过程的,需要先设...

基于python 二维数组及画图的实例详解

1、二维数组取值 注:不管是二维数组,还是一维数组,数组里的数据类型要一模一样,即若是数值型,全为数值型 #二维数组 import numpy as np list1=[[1.73...

Django Admin实现三级联动的示例代码(省市区)

Django Admin实现三级联动的示例代码(省市区)

通过自定义Admin的模板文件实现省市区的三级联动.要求创建记录时,根据省>市>区的顺序选择依次显示对应数据. 修改记录时默认显示已存在的数据. Model cla...

Python 快速实现CLI 应用程序的脚手架

Python 快速实现CLI 应用程序的脚手架

今天跟大家分享一下如何快速实现一个Python CLI应用程序的脚手架,之所以会做这个是因为当时需要做一个运维的小工具希望用命令行的方式来使用,但是搜遍网上很多资料都没有系统讲解从开发、...

对python创建及引用动态变量名的示例讲解

实际上在python中用列表就可以实现动态变量名的管理,python中的列表中可以存储任何类型的元素: listA = [0,"str",B()] 上述列表分别存储了整数,字符串...