【Python编程】将同一种图片分类到同一文件夹下,并且将其分类的路径信息写成txt文件进行保存

注:数据结构同上一篇博文类似

一、代码

import os
import cv2
import shutil

path0=os.getcwd()+'\\apple\\RGB'
path1=os.getcwd()+'\\apple\\tof_confidence'
# path2=os.getcwd()+'\\apple\\tof_depth'
# path3=os.getcwd()+'\\apple\\tof_depthRGB'
# path4=os.getcwd()+'\\apple\\tof_points'
# path5=os.getcwd()+'\\apple\\tof_intensity'

if not os.path.exists(path0):
    os.makedirs(path0)
if not os.path.exists(path1):
    os.makedirs(path1)
# if not os.path.exists(path2):
#     os.makedirs(path2)
# if not os.path.exists(path3):
#     os.makedirs(path3)
# if not os.path.exists(path4):
#     os.makedirs(path4)
# if not os.path.exists(path5):
#     os.makedirs(path5)
    
path6=r'E:\Date_Set_Apple\2022_9'
folders=os.listdir(path6)
print(folders)



# d_num = 0
# dr_num =0
# i_num = 0
# p_num = 0

r_num = 0
c_num = 0

for folder in folders:
    path7=path6+'/'+folder
    fd=os.listdir(path7)
    print(fd)
    
    for f in fd:
        path8=path7+'/'+f
        images=os.listdir(path8)
    
        for image in images:
            if image.startswith('RGB'):
                img=cv2.imread(path8+"/"+image)
                cv2.imshow('img',img)
                cv2.waitKey(1)
                cv2.destroyAllWindows()
                cv2.imwrite(r'C:\Users\Hasee\apple\apple\RGB\no'+ str(r_num) + '.png', img)
                m= open('rgb_confidence.txt', 'a')  # 没有则创建txt文件,与代码文件同目录
                m.write("confidence图对应的RGB图:"+'no'+str(r_num)+"   "+folder+"    "+f+"   "+image + '\n')
                m.close()
                r_num += 1
            elif image.startswith('confidence'):
                img=cv2.imread(path8+"/"+image)
                cv2.imshow('img',img)
                cv2.waitKey(1)
                cv2.destroyAllWindows()
                cv2.imwrite(r'C:\Users\Hasee\apple\apple\tof_confidence\no'+ str(c_num) + '.png', img)
                m= open('rgb_confidence.txt', 'a')  # 没有则创建txt文件,与代码文件同目录
                m.write("RGB图对应的confidence图:"+'no'+str(c_num)+"   "+folder+"    "+f+"   "+image + '\n')
                m.close()
                c_num += 1
                    
#                 elif image.startswith('depthRGB'):
#                     img=cv2.imread(path8+"/"+image)
#                     cv2.imshow('img',img)
#                     cv2.waitKey(1)
#                     cv2.destroyAllWindows()
#                     cv2.imwrite(r'C:\Users\Hasee\apple\apple\tof_depthRGB\no'+ str(dr_num) + '.png', img)
#                     dr_num += 1
                    
#                 elif image.startswith('intensity'):
#                     img=cv2.imread(path8+"/"+image)
#                     cv2.imshow('img',img)
#                     cv2.waitKey(1)
#                     cv2.destroyAllWindows()
#                     cv2.imwrite(r'C:\Users\Hasee\apple\apple\tof_intensity\no'+ str(i_num) + '.png', img)
#                     i_num += 1
                    
                
                    
#                 elif image.startswith('depth.png'):
#                     img=cv2.imread(path8+"/"+image)
#                     cv2.imshow('img',img)
#                     cv2.waitKey(1)
#                     cv2.destroyAllWindows()
#                     cv2.imwrite(r'C:\Users\Hasee\apple\apple\tof_depth\no'+ str(d_num) + '.png', img)
#                     d_num += 1
                    
#                 elif image.endswith('.pcd'):
#                     img=path8+'/'+image
#                     shutil.copy(img,r'C:\Users\Hasee\apple\apple\tof_points\no'+ str(p_num) + '.pcd')
#                     p_num +=1

二、结果展示:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/90405.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

多线程与高并发——并发编程(2)

文章目录 二、并发编程的三大特性1 原子性1.1 什么是原子性1.2 怎么保证原子性1.2.1 synchronized1.2.2 CAS1.2.3 Lock 锁1.2.4 ThreadLocal 2 可见性2.1 什么是可见性2.2 解决可见性的方式2.2.1 volatile2.2.2 synchronized2.2.3 Lock2.2.4 final 3 有序性3.1 什么是有序性3.2…

Rust常用加密算法

哈希运算(以Sha256为例) main.rs: use crypto::digest::Digest;use crypto::sha2::Sha256;fn main() { let input "dashen"; let mut sha Sha256::new(); sha.input_str(input); println!("{}", sha.result_str());} Cargo.toml: [package]n…

LeetCode 1162. As Far from Land as Possible【多源BFS】中等

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

C++头文件和std命名空间

C 是在C语言的基础上开发的,早期的 C 还不完善,不支持命名空间,没有自己的编译器,而是将 C 代码翻译成C代码,再通过C编译器完成编译。 这个时候的 C 仍然在使用C语言的库,stdio.h、stdlib.h、string.h 等头…

idea 左下角的Git(Version Control)中显示Local Changes窗口

打开Local Changes窗口来查看当前Git仓库的本地变更。 使用快捷键: - Windows: Alt9 - Mac: Cmd9 解决: (1)idea打开settings (2)点击Version Control窗口选项卡,选择Commit选项,对 Use.... in…

二叉搜索树-----红黑树

✅<1>主页&#xff1a;我的代码爱吃辣&#x1f4c3;<2>知识讲解&#xff1a;数据结构——红黑树☂️<3>开发环境&#xff1a;Visual Studio 2022&#x1f4ac;<4>前言&#xff1a;红黑树也是一颗二叉搜索树&#xff0c;其作为map&#xff0c;set的底层…

【分析绘图】R语言实现一些常见的绘图

微生信-在线绘图网站 线性图 library(ggplot2)x <- rnorm(100, 14, 5) # rnorm(n, mean 0, sd 1) y <- x rnorm(100, 0, 1) ggplot(data NULL, aes(x x, y y)) # 开始绘图geom_point(color "darkred") # 添加点annotate("text",x 13,…

23款奔驰GLE450轿跑升级原厂外观暗夜套件,战斗感满满的

升级的方案基本都是替换原来车身部位的镀铬件&#xff0c;可能会有人问&#xff1a;“难道直接用改色膜贴黑不好吗&#xff1f;”如果是贴膜的话&#xff0c;第一个是颜色没有那么纯正&#xff0c;这些镀铬件贴黑的技术难度先抛开不说&#xff0c;即使贴上去了&#xff0c;那过…

原生小案例:如何使用HTML5 Canvas构建画板应用程序

使用HTML5 Canvas构建绘图应用是在Web浏览器中创建交互式和动态绘图体验的绝佳方式。HTML5 Canvas元素提供了一个绘图表面&#xff0c;允许您操作像素并以编程方式创建各种形状和图形。本文将为您提供使用HTML5 Canvas创建绘图应用的概述和指导。此外&#xff0c;它还将通过解释…

【MYSQL8.0从入门到精通】

文章目录 MySQL 8.0一.MySQL的多表操作1.外键约束&#xff08;一对多&#xff09;2.外键约束&#xff08;多对多&#xff09; MySQL 8.0 一.MySQL的多表操作 1.外键约束&#xff08;一对多&#xff09; 方式1 在创建表的同时创建外键约束 -- 1.创建主表 create table if no…

性能优化——分库分表

1、什么是分库分表 1.1、分表 将同一个库中的一张表&#xff08;比如SPU表&#xff09;按某种方式&#xff08;垂直拆分、水平拆分&#xff09;拆分成SPU1、SPU2、SPU3、SPU4…等若干张表&#xff0c;如下图所示&#xff1a; 1.2、分库 在表数据不变的情况下&#xff0c;对…

【锐捷】OSPF 多区域配置

【实验名称】 配置 OSPF 多区域。 【实验目的】 配置 OSPF 多区域&#xff0c;理解 OSPF 层次型网络的特点。 【背景描述】 本实验拓扑图中有 3 台路由器&#xff0c;路由器在区域 0 和区域 1 中&#xff0c;路由器 B 在区域 0 和区域 30&#xff0c; 路由器 C 在区域 30。 【需…

SQL 数据库

安装配置 【1】 MySQL安装配置教程&#xff08;超级详细、保姆级&#xff09; 【2】 MySQLNavicat安装配置教程&#xff08;超级详细、保姆级&#xff09; 学习资料 【戴师兄】SQL入门免费教程 刷题链接&#xff1a;https://share.mubu.com/doc/4BHMMbbvIMb 学习笔记&#xf…

vue3 pdf、word等文件下载

效果&#xff1a; <div class"byLawBox"><div class"titleBox">规章制度公示</div><div class"contentBox"><TableList:loading"byLawloading"ref"byLawtablistRef":hasImport"false"…

时序预测 | MATLAB实现SO-CNN-LSTM蛇群算法优化卷积长短期记忆神经网络时间序列预测

时序预测 | MATLAB实现SO-CNN-LSTM蛇群算法优化卷积长短期记忆神经网络时间序列预测 目录 时序预测 | MATLAB实现SO-CNN-LSTM蛇群算法优化卷积长短期记忆神经网络时间序列预测预测效果基本介绍程序设计学习总结参考资料 预测效果 基本介绍 时序预测 | MATLAB实现SO-CNN-LSTM蛇群…

清洁能源使用的社会发展意义

应用清洁能源是转变经济增加途径的有效手段&#xff0c;能够在减少污染物、降低企业经营成本的同时&#xff0c;提高企业经济效益和社会经济效益。 应用清洁能源是保护环境的最佳方式和必然选择&#xff0c;改变末端治理的现状&#xff0c;采取以预防为主的环境保护与发展理…

波奇学C++:stl的list模拟实现

list是双向带头链表。所以迭代器end()相当于哨兵卫的头。 list不支持和[]重载&#xff0c;原因在于list空间不是连续的&#xff0c;和[]的代价比较大。 访问第n个节点&#xff0c;只能用for循环&#xff0c;来实现 list<int> l; l.push_back(0); l.push_back(1); l.pu…

queue ide is not exists in YARN

报错内容: 2023-08-17 17:30:31.342 [ERROR] [BaseTaskScheduler-Thread-7 ] o.a.l.o.s.a.AsyncExecTaskRunnerImpl (79) [run] - Failed to execute task astJob_1_codeExec_1 org.apache.linkis.orchestrator.ecm.exception.ECMPluginErrorException: errCode:…

LeetCode--HOT100题(37)

目录 题目描述&#xff1a;104. 二叉树的最大深度&#xff08;简单&#xff09;题目接口解题思路代码 PS: 题目描述&#xff1a;104. 二叉树的最大深度&#xff08;简单&#xff09; 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远…

【Go 基础篇】Go语言中的defer关键字:延迟执行与资源管理

介绍 在Go语言中&#xff0c;defer 是一种用于延迟执行函数调用的关键字。它提供了一种简洁而强大的方式&#xff0c;用于在函数返回之前执行一些必要的清理操作或者释放资源。defer 的灵活性和易用性使得它在Go语言中广泛应用于资源管理、错误处理和代码结构优化等方面。&…
最新文章