iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python图像的批量处理怎么实现
  • 871
分享到

python图像的批量处理怎么实现

2023-07-02 13:07:04 871人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python图像的批量处理怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python图像的批量处理怎么实现文章都会有所收获,下面我们一起来看看吧。图片集合函数skimage.io.Im

这篇文章主要介绍了python图像的批量处理怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python图像的批量处理怎么实现文章都会有所收获,下面我们一起来看看吧。

图片集合函数

skimage.io.ImageCollection(load_pattern,load_func=None)

这个函数是放在io模块内的,带两个参数,第一个参数load_pattern, 表示图片组的路径,可以是一个str字符串。第二个参数load_func是一个回调函数,我们对图片进行批量处理就可以通过这个回调函数实现。回调函数默认为imread(),即默认这个函数是批量读取图片。

先看一个例子:

import skimage.io as iofrom skimage import data_dirstr=data_dir + '/*.png'coll = io.ImageCollection(str)print(len(coll))

显示结果为25, 说明系统自带了25张png的示例图片,这些图片都读取了出来,放在图片集合coll里。如果我们想显示其中一张图片,则可以在后加上一行代码:

io.imshow(coll[10])

显示为:

python图像的批量处理怎么实现

批量读取

如果一个文件夹里,我们既存放了一些jpg格式的图片,又存放了一些png格式的图片,现在想把它们全部读取出来,该怎么做呢?

import skimage.io as iofrom skimage import data_dirstr='d:/pic/*.jpg:d:/pic/*.png'coll = io.ImageCollection(str)print(len(coll))

注意这个地方'd:/pic/*.jpg:d:/pic/*.png' ,是两个字符串合在一起的,

第一个是'd:/pic/*.jpg',

第二个是'd:/pic/*.png' ,

合在一起后,中间用冒号来隔开,这样就可以把d:/pic/文件夹下的jpg和png格式的图片都读取出来。

如果还想读取存放在其它地方的图片,也可以一并加进去,只是中间同样用冒号来隔开。

io.ImageCollection()这个函数省略第二个参数,就是批量读取。如果我们不是想批量读取,而是其它批量操作,如批量转换为灰度图,那又该怎么做呢?

批量转换为灰度图

那就需要先定义一个函数,然后将这个函数作为第二个参数,如:

from skimage import data_dir,io,colordef convert_gray(f):    rgb=io.imread(f)    return color.rgb2gray(rgb)str=data_dir+'/*.png'coll = io.ImageCollection(str,load_func=convert_gray)io.imshow(coll[10])

python图像的批量处理怎么实现

这种批量操作对视频处理是极其有用的,因为视频就是一系列的图片组合

from skimage import data_dir,io,colorclass AVILoader:    video_file = 'myvideo.avi'    def __call__(self, frame):        return video_read(self.video_file, frame)avi_load = AVILoader()frames = range(0, 1000, 10) # 0, 10, 20, ...ic =io.ImageCollection(frames, load_func=avi_load)

这段代码的意思,就是将myvideo.avi这个视频中每隔10帧的图片读取出来,放在图片集合中。

得到图片集合以后,我们还可以将这些图片连接起来,构成一个维度更高的数组,连接图片的函数为:

skimage.io.concatenate_images(ic)

带一个参数,就是以上的图片集合,如:

from skimage import data_dir,io,colorcoll = io.ImageCollection('d:/pic/*.jpg')mat=io.concatenate_images(coll)

使用concatenate_images(ic)函数的前提是读取的这些图片尺寸必须一致,否则会出错。我们看看图片连接前后的维度变化:

from skimage import data_dir,io,colorcoll = io.ImageCollection('d:/pic/*.jpg')print(len(coll))      #连接的图片数量print(coll[0].shape)   #连接前的图片尺寸,所有的都一样mat=io.concatenate_images(coll)print(mat.shape)  #连接后的数组尺寸

显示结果:

2
(870, 580, 3)
(2, 870, 580, 3)

可以看到,将2个3维数组,连接成了一个4维数组

如果我们对图片进行批量操作后,想把操作后的结果保存起来,也是可以办到的。

批量保存

例:把系统自带的所有png示例图片,全部转换成256*256的jpg格式灰度图,保存在d:/data/文件夹下

改变图片的大小,我们可以使用tranfORM模块的resize()函数,后续会讲到这个模块。

from skimage import data_dir,io,transform,colorimport numpy as npdef convert_gray(f):     rgb=io.imread(f)    #依次读取rgb图片     gray=color.rgb2gray(rgb)   #将rgb图片转换成灰度图     dst=transform.resize(gray,(256,256))  #将灰度图片大小转换为256*256     return dststr=data_dir+'/*.png'coll = io.ImageCollection(str,load_func=convert_gray)for i in range(len(coll)):    io.imsave('d:/data/'+np.str(i)+'.jpg',coll[i])  #循环保存图片

 结果:

python图像的批量处理怎么实现

关于“python图像的批量处理怎么实现”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“python图像的批量处理怎么实现”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网Python频道。

--结束END--

本文标题: python图像的批量处理怎么实现

本文链接: https://www.lsjlt.com/news/342184.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python图像的批量处理怎么实现
    这篇文章主要介绍了python图像的批量处理怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python图像的批量处理怎么实现文章都会有所收获,下面我们一起来看看吧。图片集合函数skimage.io.Im...
    99+
    2023-07-02
  • python数字图像处理之图像的批量处理
    目录正文图片集合函数批量读取批量转换为灰度图批量保存正文 有些时候,我们不仅要对一张图片进行处理,可能还会对一批图片处理。这时候,我们可以通过循环来执行处理,也可以调用程序自带的图片...
    99+
    2022-11-11
  • Python中怎么批量处理图片
    Python中怎么批量处理图片,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.Pillow库介绍Pillow是Python里的图像处理库,提供了了广泛的文件格式支持,强大...
    99+
    2023-06-02
  • python怎么实现图片批量压缩
    这篇文章主要介绍python怎么实现图片批量压缩,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和float(浮...
    99+
    2023-06-14
  • Python怎么批量检查图像是否可用
    本篇内容主要讲解“Python怎么批量检查图像是否可用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么批量检查图像是否可用”吧!数据集中的图像,一般不可用在以下3个方面:图像过小无...
    99+
    2023-07-02
  • Python实现文件名批量处理
    我们知道文件名是可以手动修改的,但是如果要同时修改多个文件名,那一个一个修改会浪费掉很多时间,此时我们就可以考虑使用python来实现文件名的批量处理。想要批量处理文件名首先确定需要处理的文件名,以及确定处理后新的文件名,这样就可以开始处理...
    99+
    2023-06-02
  • Java数字图像处理之图像灰度处理怎么实现
    本篇内容介绍了“Java数字图像处理之图像灰度处理怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、简介图像灰度化处理可以作为图像处...
    99+
    2023-07-02
  • Python实现图像压缩和图像处理详解
    目录入门了解1.颜色入门了解 2. 像素用Pillow处理图像1. 读取和显示图像2. 剪裁图像3. 生成缩略图4. 缩放和黏贴图像5. 旋转和翻转6. 操作像素7. 滤镜效果使用P...
    99+
    2022-11-11
  • Python实现批量绘制遥感影像数据的直方图
    本文介绍基于Python中gdal模块,实现对大量栅格图像批量绘制直方图的方法。 首先,明确一下本文需要实现的需求:现需对多幅栅格数据文件进行依据其像元数值的直方图绘制,具体绘制内容...
    99+
    2023-02-27
    Python批量绘制直方图 Python绘制直方图 Python直方图
  • Python批量删除或移动指定图像的实现示例
    目录前言一、批量删除指定名称的图像二、批量移动指定名称的图像前言 笔者的研究方向为计算机视觉,因此经常和大量图像打交道,有时需要批量删除一些图像,有时需要批量移动一些图像,因此编写了...
    99+
    2023-03-22
    Python批量删除图像 Python批量移动图像
  • Python怎么实现图像和办公文档处理
    Python图像和办公文档处理Python是一种高级编程语言,它具有强大的图像和办公文档处理功能。计算机图像相关知识计算机图像是一种数字化的图像,它由像素阵列组成。像素是图像的最小单元,每个像素具有一定的亮度和颜色信息。计算机图像处理是指对...
    99+
    2023-05-14
    Python
  • Python怎么批量更改图像尺寸统一大小
    本文小编为大家详细介绍“Python怎么批量更改图像尺寸统一大小”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么批量更改图像尺寸统一大小”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。批量更改图像尺...
    99+
    2023-07-05
  • 怎么用Python批量删除或移动指定图像
    这篇文章主要介绍了怎么用Python批量删除或移动指定图像的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用Python批量删除或移动指定图像文章都会有所收获,下面我们一起来看看吧。一、批量删除指定名称的图像...
    99+
    2023-07-05
  • Java图片批量压缩像素的实现方法
    目录图片压缩大法压缩前大小:压缩后大小:具体代码实现:附:利用Graphics类如何进行压缩图像总结图片压缩大法 为了防止用户流量的丢失,即使在5g 即将来临的情况下,压缩算法依旧是...
    99+
    2022-11-12
  • python怎么处理图片像素
    在Python中,可以使用PIL库(Python Imaging Library)来处理图片像素。以下是一些常见的图片像素处理操作:...
    99+
    2023-09-14
    python
  • python数字图像处理实现图像的形变与缩放
    目录skimage的transform模块1、改变图片尺寸resize2、按比例缩放rescale3、旋转 rotate4、图像金字塔skimage的transform模块 图像的形...
    99+
    2022-11-11
  • Python ArcPy实现批量拼接长时间序列栅格图像
    本文介绍基于Python中ArcPy模块,对大量不同时相的栅格遥感影像按照其成像时间依次执行批量拼接的方法。 在前期的文章Python arcpy创建栅格、批量拼接栅格中,我们介绍了...
    99+
    2023-03-19
    Python ArcPy拼接栅格图像 Python 拼接栅格图像 Python ArcPy 栅格图像 Python ArcPy
  • 怎么用bat批处理实现批量修改文件名
    这篇文章主要讲解了“怎么用bat批处理实现批量修改文件名”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用bat批处理实现批量修改文件名”吧!我们已经会使用循环命令对大量文件改名进行批量处...
    99+
    2023-06-08
  • Python实现Word文档样式批量处理
    这里批量处理word文档的操作主要是通过python-docx非标准库实现的,通过定位到文档对象、再到段落、最后到一行文本从而完成针对文字对象的处理。 使用pip的方式安装pyth...
    99+
    2022-11-11
  • python数字图像处理之图像简单滤波实现
    目录引言1、sobel算子2、roberts算子3、scharr算子4、prewitt算子5、canny算子6、gabor滤波7、gaussian滤波8、median9、水平、垂直边...
    99+
    2022-11-11
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作