天天看點

MATLAB批量處理圖檔:改變圖檔尺寸和對圖檔進行重命名

file_path = 'F:\window and ubuntu\workpieces_data\';    %需要處理圖檔的路徑
img_path_list = dir(strcat(file_path,'*.jpg'));      %擷取該檔案夾中所有jpg格式的圖檔   
img_num = length(img_path_list);      %獲得圖像的總數量
if img_num >0     %有滿足條件的圖檔
    for j=1:img_num      %逐一讀取圖檔
        image_name = img_path_list(j).name;    %圖檔名
        image = imread(strcat(file_path,image_name));
        image = imresize(image,[512,512]);   %修改圖檔的尺寸,修改為512*512,滿足YOLO的需求
        if j<10     %如果j是大于0小于10的,則把圖檔命名為00j.jpg
            imwrite(image,strcat('F:\window and ubuntu\workpieces_data_512\','00',num2str(j),'.jpg')); %strcat()函數是連接配接字元串函數
        end
        if j<100 && j>9       %如果j是大于99小于100,則把圖檔名命名為0j.jpg
            imwrite(image,strcat('F:\window and ubuntu\workpieces_data_512\','0',num2str(j),'.jpg')); %num2str()函數是将數字轉換為字元串
        end
        if j>99              %如果j是大于99的數,即為三維整數,則把圖檔命名為j.jpg
            imwrite(image,strcat('F:\window and ubuntu\workpieces_data_512\',num2str(j),'.jpg'));   %imwrite()函數是儲存圖檔
        end
    end
end
           

繼續閱讀