【发布时间】:2018-01-31 22:10:49
【问题描述】:
我收到一个错误,TypeError: bad argument type for built-in operation 。 我在data.py中写了代码,
import os
import cv2
import argparse
import numpy as np
import math
parser = argparse.ArgumentParser(description='')
parser.add_argument('input_dir' ,help='input directory')
parser.add_argument('output_dir' ,help='out directory')
args = parser.parse_args()
def find_all_files(directory):
for root, dirs, files in os.walk(directory):
for file in files:
p=os.path.join(root, file)
p=p.split("/")[len(p.split("/"))-2]
name, ext = os.path.splitext(p)
yield os.path.join(root, file)
dirname=args.output_dir
if not os.path.exists(dirname):
os.mkdir(dirname)
folder_img = find_all_files(args.input_dir)
im =cv2.imread(folder_img)
cv2.imwrite(args.output_dir ,im)
当我运行 python data.py ./photo ./copy_photo (我想从 photo 文件夹中读取图像并将输出图像放在 copy_photo 文件夹中)时,会发生错误。我应该如何解决这个问题?我的代码有什么问题?我在下面写了 print(folder_img) folder_img 变量和 find_all_files 方法,但未显示打印语句。
回溯说
Traceback (most recent call last):
File "data.py", line 175, in <module>
im =cv2.imread(folder_img)
TypeError: bad argument type for built-in operation
【问题讨论】:
-
请粘贴完整的回溯和错误信息
-
@ElmoVanKielmo 我添加了回溯。如果你知道什么,请帮助我。
标签: python