python读取文件夹下所有图片文件_python删除某一列

python读取文件夹下所有图片文件_python删除某一列具体实现步骤功能需求读取一个文件夹中的所有图片,并将图像数据存储在一个文件中。说明对于本程序中的实现,图片文件夹与python文件应在图一个目录中。如上图所示,楼主的face.py为读文件夹中所有文件的代码。file中存放的是多张图片。这两个文件都在根目录下,你也可以将他们两个放在其他的目录下,若不放在同一个目录下,则需要修改代码,才能运行成功。第一步:导入库代码为:import…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

具体实现步骤

功能需求

读取一个文件夹中的所有图片,并将图像数据存储在一个文件中。

说明

对于本程序中的实现,图片文件夹与python文件应在图一个目录中。
在这里插入图片描述
如上图所示,楼主的face.py为读文件夹中所有文件的代码。file中存放的是多张图片。这两个文件都在根目录下,你也可以将他们两个放在其他的目录下,若不放在同一个目录下,则需要修改代码,才能运行成功。

第一步:导入库

代码为:

import os
import cv2

,因为涉及到读取图像,所以需要opencv环境。导入cv2时,若电脑里没有安装opencv环境,需要先安装opencv环境。
安装opencv环境的代码为:pip install opencv-python

第二步:写读取函数

代码为:

array_of_img = [] # this if for store all of the image data
# this function is for read image,the input is directory name
def read_directory(directory_name):
    # this loop is for read each image in this foder,directory_name is the foder name with images.
    for filename in os.listdir(r"./"+directory_name):
        #print(filename) #just for test
        #img is used to store the image data 
        img = cv2.imread(directory_name + "/" + filename)
        array_of_img.append(img)
        #print(img)
        print(array_of_img)

代码中,array_of_img用来存储图像数据,如果在你的项目中不需要,这个是可以删除的,但是相应的要删除函数里的array_of_img.append(img)
read_directory为读图像的函数,函数的参数directory_name为图像所在的文件夹名称,在这里,因为这个是函数的参数,所以并不是你真正的文件夹名称。
for filename in os.listdir(r"./"+directory_name)用来循环获取文件夹下的文件名。
img = cv2.imread(directory_name + "/" + filename)用来根据文件夹名称与文件名进行图像的读取。然后并把图像数据存储到array_of_img中。

第三步:函数调用

在第二步中,已经写好了读取的函数,所以只需要对函数进行调用即可。
代码为:

read_directory("file")

函数的传入参数file即为你所要读取的文件夹名称,这个是你电脑中真实的文件夹名字。

结语

为什么要写这个博文呢?主要是因为一个美女刚开始学习人脸识别方面,在读取图像这里卡住了,不知道该如何实现读取图像,所以在帮助这个美女实现了这个功能之后,想到可能对于别的一些初学者可能也会遇到这个问题,所以就有了一个不算文章的文章。至此,用python读取一个文件夹中所有的文件的功能已经实现,虽然这个功能很简单,但是对于初学者来说,也并非一个很简单的事情,希望这篇博文能够帮助到初学python,初入计算机视觉的一些同学。
如果在学习的过程中遇到什么问题,欢迎一起讨论进步!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194935.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 用冒泡法和选择法对10个整数排序(C语言 数组)

    用冒泡法和选择法对10个整数排序(C语言 数组)1 区别 nbsp nbsp nbsp nbsp nbsp nbsp 两者最大的区别在于算法本身 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 冒泡法是相邻元素两两比较 每趟将最值沉底即可确定一个数在结果的位置 确定元素位置的顺序是从后往前 其余元素可以作相对位置的调整 可以进行升序或降序排序 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 选择法是每趟选出一个最值确定其在结果序列中的位置 确定元素的位置是从前往后 而每趟最多进行一次交换 其余元素的相对位置不变 可进行降序排序或升序排序 2 冒泡法

    2026年2月1日
    1
  • OFDMA/SC-FDMA原理及在5G中应用

    OFDMA/SC-FDMA原理及在5G中应用OFDMA 在 5G 中的作用仍然很强 与 4G 时类似 但是从某种意义上讲 OFDMA 在 5G 中的作用甚至更强 因为除了单载波传输外 它现在还用于上行链路方向 在 5G 中 单载波传输仅用于链路预算受限时的小区边缘 否则将使用 OFDMA 使用 OFDMA 的动机来自多天线传输情况下的更好性能 即使由于峰值平均比 PAR 增加而导致的传输功率降低也是可以接受的 传统上 与 SC FDMA 波形相比 OFDMA 的使用导致上行链路传输的可用功率损失约为 1 2dB 然而 即使产生的传输功率较小 当链路预算具有一定裕度时 多天线多流传输

    2026年1月31日
    1
  • SQL服务器操作系统和SQL版本的选择

    SQL服务器操作系统和SQL版本的选择

    2021年8月2日
    54
  • linux的vim怎么剪切,Linux.vim.多行复制、删除、剪切

    linux的vim怎么剪切,Linux.vim.多行复制、删除、剪切中间件Study-了解什么是中间件一.中间件含义:中间价是位于各种平台(硬件和操作系统)和各种应用之间的通用服务.帮助应用实现高效的.可靠的消息使应用之间实现便捷的互联互通高效.可靠构建企业应用实现分布式应用的快速搭建和部署注:中间…谈谈我印象中的JVM不足之处研究JVM也有一段时间了,其间也发现了它的很多不足之处,在此一一道来,由于本人对JVM的理解有限,如有错误的地方,还请大家指正:本…

    2022年6月22日
    33
  • 二叉树的性质及其创建

    二叉树的性质及其创建二叉树的性质性质1在二叉树的第i层上至多有2^(i-1)个结点(i>=1)性质2深度为k的二叉树至多有2^k-1个结点(k>=1)性质3对任意一棵二叉树,若终端结点数为n0,其度数为2的结点数为n2,那么n0=n2+1满二叉树深度为k且结点个数为2^k-1,即每一层都具有最大结点数完全二叉树深度为k,结点数为n的二叉树,如果其结点1n的位置序号分别与满二叉树的结点1…

    2022年5月15日
    39
  • Android之ProgressDialog的使用

    Android之ProgressDialog的使用ProgressDialog继承自AlertDialog,AlertDialog继承自Dialog,实现DialogInterface接口。ProgressDialog的创建方式有两种,一种是new

    2022年7月1日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号