如何自动将输出的图片文件保存到指定的文件夹中?

How to automatically save the output image file in a specified folder?

我在图像上使用 Canny 边缘检测。由于我原来的 10 张图像在路径文件夹中,C:\Users\X\Desktop\FoodRGB01.jpg02.jpg03.jpg 等,我想将所有输出图像保存在文件夹 C:\Users\X\Desktop\FoodCanny 作为 01.jpg, 02.jpg, 03.jpg.

我想我必须使用 imwrite() 函数将输出图像写入特定文件夹,但我不确定这个大主意。

我使用的以下代码将图像保存为 0%d.jpg 在我手动创建的 FoodCanny 文件夹中。

for k = 1:10        
img = sprintf('C:\Users\X\Desktop\Food Canny[=10=]%d.jpg',k); 
imwrite(canny_image, 'C:\Users\X\Desktop\Food Canny[=10=]%d.jpg');
end

假设您想获取 C:\Users\Asus\Pictures\Screenshots 中所有屏幕截图的精巧边缘并将它们保存到另一个文件夹 D:\. 您可以通过以下方式完成此操作:

clc;clear all;
fpath = fullfile('C:\Users\Asus\Pictures\Screenshots','*.png');
img_dir = dir(fpath);
for k=1:length(img_dir)
    input_image=strcat('C:\Users\Asus\Pictures\Screenshots\',img_dir(k).name);
    original = rgb2gray(imread(input_image));
    original= edge(original,'canny');
    imwrite(original,strcat('D:\',sprintf('edge(%d).jpg',k)));
end