根據影象名字把一個大資料夾中影象分類(matlab中for迴圈中巢狀if語句)
阿新 • • 發佈:2018-12-22
clear; close all; clc; inpath = 'G:\code\xianzhu\Z_CODE\SalBenchmark-master\Data\DataSet1\Saliency\*.png'; %%需要分類的資料夾路徑 %%分類後圖像儲存路徑%% CA_path = 'G:\code\xianzhu\Z_CODE\SalBenchmark-master\Data\DataSet1\Saliency_P\CA\'; DSR_path = 'G:\code\xianzhu\Z_CODE\SalBenchmark-master\Data\DataSet1\Saliency_P\DSR\'; FES_path = 'G:\code\xianzhu\Z_CODE\SalBenchmark-master\Data\DataSet1\Saliency_P\FES\'; GR_path = 'G:\code\xianzhu\Z_CODE\SalBenchmark-master\Data\DataSet1\Saliency_P\GR\'; SR_path = 'G:\code\xianzhu\Z_CODE\SalBenchmark-master\Data\DataSet1\Saliency_P\SR\'; mkdir(CA_path); mkdir(DSR_path); mkdir(FES_path); mkdir(GR_path); mkdir(SR_path); dir_im = dir(inpath); i=0; n = 0; m=5; %根據分類的多少對m進行賦值,這裡我分為5類,下邊的if語句的多少也跟分類種類有關 for i = 1:length(dir_im) imName = dir_im(i).name; % I = imread([inpath(1:end - 5) imName]); input_im=im2double(imread([inpath(1:end - 5) imName])); n = i; % a = mod(n,m); if mod(n,m) == 1 imwrite(input_im,[CA_path,imName(1:end-4),'.png'],'png') elseif mod(n,m) == 2 imwrite(input_im,[DSR_path,imName(1:end-4),'.png'],'png') elseif mod(n,m) == 3 imwrite(input_im,[FES_path,imName(1:end-4),'.png'],'png') elseif mod(n,m) == 4 imwrite(input_im,[GR_path,imName(1:end-4),'.png'],'png') else imwrite(input_im,[SR_path,imName(1:end-4),'.png'],'png') end end