如何读取图像并将该图像复制到另一个目录?

How to read an image and that image copy to another directory?

我用 OpenCV 读取图像进行处理并将该图像复制到另一个目录文件夹。但是我收到以下错误。如何解决这个问题并完美复制?

    image_file = os.path.join("<ROOT_PATH>", file_)
    image = cv2.imread(image_file, cv2.IMREAD_UNCHANGED)
    image = np.stack([image]*3, axis=-1)  # make image 3-channel
    crop_img = image[int(ymin):int(ymax), int(xmin):int(xmax)]
    plt.imshow(crop_img)
    shutil.copy2(crop_img, "<dst_folder>")

错误:

TypeError: expected str, bytes or os.PathLike object, not numpy.ndarray

shutil 直接复制文件对象。具体来说,copy2会直接复制一个文件的内容,可以是字符串,字节,也可以是os.PathLike形式。由于您正在使用 opencv 修改图像,并且您有 numpy 形式,因此调用 imsave:

可能更容易
cv2.imwrite(os.path.join("<dst_folder>", os.path.basename("<ROOT_PATH>")), crop_img)