我想打开一个文件夹,在那里有几个图像,在每个图像中将绘制一个矩形,并以相同的原始名称保存在另一个文件夹中
问题是,图像被创建但被覆盖,并且我不能自动使用相同的名称保存。我想我不能很好地定义for循环。
import cv2
import glob
path = r'dir\*.tif' # only .tif images
for file in glob.glob(path):
im = pl_image(file, size= x)
cv2.rectangle(im,(x1,y1),(x2,y2),(0, 255, 0),2)
cv2.rectangle(im,(x3,y1),(x4,y2),(0, 255, 0),2)
cv2.rectangle(im,(x5,y1),(x6,y2),(0, 255, 0),2)
cv2.rectangle(im,(x7,y1),(x8,y2),(0, 255, 0),2)
cv2.rectangle(im,(x9,y1),(x10,y2),(0, 255, 0),2)
cv2.imwrite('%s/%s.JPEG' % , im) # this line I do not how to define, should be smt like this
此行可以工作,但不会使用原始名称进行保存
cv2.imwrite(r'other_dir\img.png',im)
发布于 2019-06-25 09:02:55
import cv2
import glob
path = r'dir\*.tif' # only .tif images
output_folder_path = "/home/output/"
for file in glob.glob(path):
im = pl_image(file, size= x)
output_file_name = output_folder_path+file.split("/")[-1]
cv2.rectangle(im,(x1,y1),(x2,y2),(0, 255, 0),2)
cv2.rectangle(im,(x3,y1),(x4,y2),(0, 255, 0),2)
cv2.rectangle(im,(x5,y1),(x6,y2),(0, 255, 0),2)
cv2.rectangle(im,(x7,y1),(x8,y2),(0, 255, 0),2)
cv2.rectangle(im,(x9,y1),(x10,y2),(0, 255, 0),2)
cv2.imwrite(output_file_name, im)
其思想是使用一个变量来存储输出文件夹的完全限定文件名+现有文件名
https://stackoverflow.com/questions/56744141
复制相似问题