【Python】提取图片文件名并写入txt中

import os

file_path = "数据路径" 
path_list = os.listdir(file_path) 

path_name = []

for i in path_list:
    path_name.append(i.split(".")[0]) 


for file_name in path_name:
    with open("dataset.txt", "a") as file:
        file.write(file_name + "\n")
        print(file_name)
    file.close()

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 Python 的 OpenCV 库来实现这个功能。首先,你需要安装 OpenCV: ```python pip install opencv-python-headless ``` 然后,你可以使用以下代码来读取源文件夹图片,并将 Canny 边缘检测的结果保存到目标文件夹。 ```python import os import cv2 # 设置源文件夹和目标文件夹的路径 src_folder = "path/to/src/folder" dst_folder = "path/to/dst/folder" # 遍历源文件夹的所有图片 for filename in os.listdir(src_folder): # 跳过非图片文件 if not filename.endswith(".jpg") and not filename.endswith(".png"): continue # 读取图片 img = cv2.imread(os.path.join(src_folder, filename)) # 进行 Canny 边缘检测 edges = cv2.Canny(img, 100, 200) # 保存边缘检测结果到目标文件夹 dst_path = os.path.join(dst_folder, filename) cv2.imwrite(dst_path, edges) ``` 在这段代码,我们首先使用 `os.listdir` 函数遍历源文件夹的所有文件,如果是图片(即文件名以 ".jpg" 或 ".png" 结尾)就读取并进行 Canny 边缘检测。检测完成之后,结果保存到目标文件夹. Canny 函数的两个参数是阈值, 100和200, 调整这两个值来调整检测出的边缘的效果. ### 回答2: 要实现这个功能,首先需要用Python的os模块来获取文件夹的所有图片文件名。接下来,可以使用OpenCV库的Canny函数来提取图片的边缘。最后,将提取到的边缘图像写入到另一个文件夹。 ```python import os import cv2 def extract_canny_edge(input_folder, output_folder): # 获取文件夹的所有文件名 file_names = os.listdir(input_folder) # 遍历文件夹的每个文件 for file_name in file_names: # 获取文件的完整路径 file_path = os.path.join(input_folder, file_name) # 判断文件是否为图片文件 if file_path.lower().endswith(('.png', '.jpg', '.jpeg')): # 读取图片 img = cv2.imread(file_path, 0) # 以灰度图像方式读取 # 提取图片的边缘 edges = cv2.Canny(img, 100, 200) # Canny边缘提取算法 # 生成保存的文件名 output_file_name = "canny_" + file_name # 生成保存的文件路径 output_file_path = os.path.join(output_folder, output_file_name) # 保存边缘图像 cv2.imwrite(output_file_path, edges) ``` 以上代码实现了将指定文件夹的所有图片提取Canny边缘,并将提取得到的边缘图像保存到指定的输出文件夹。可通过调用`extract_canny_edge(input_folder, output_folder)`函数来实现该功能。 ### 回答3: 使用Python提取文件夹所有图片的Canny边缘,并将其写入另一个文件夹的步骤如下: 1. 导入所需的库:使用OpenCV库进行图像处理操作。 ```python import cv2 import os ``` 2. 定义函数来提取Canny边缘并保存到目标文件夹: ```python # 定义函数来提取Canny边缘并保存到目标文件夹 def extract_canny_edge(input_folder, output_folder): # 遍历输入文件夹的所有文件 for filename in os.listdir(input_folder): if filename.endswith(".jpg") or filename.endswith(".png"): # 读取图像 img_path = os.path.join(input_folder, filename) img = cv2.imread(img_path, 0) # 以灰度格式读取图像 # 提取Canny边缘 edges = cv2.Canny(img, 100, 200) # 调整阈值可以获得不同程度的边缘 # 保存提取的边缘图像到目标文件夹 output_path = os.path.join(output_folder, "edge_" + filename) cv2.imwrite(output_path, edges) ``` 3. 调用函数并指定输入文件夹和输出文件夹的路径: ```python input_folder = "输入文件夹路径" output_folder = "输出文件夹路径" extract_canny_edge(input_folder, output_folder) ``` 这样,程序将遍历输入文件夹的所有图片文件,并依次提取的Canny边缘。然后,将每个提取的边缘图像保存到指定的输出文件夹,并在文件名前加上前缀"edge_"。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值