1. 程式人生 > >機器學習快速截圖工具matlab版本——文件夾批量處理(原創)

機器學習快速截圖工具matlab版本——文件夾批量處理(原創)

been 打開 提示 num please style folder 選擇 保存

簡要說明:

1、打開文件夾後,遍歷所有JPG格式圖片,在同目錄下新建一個CROP的文件夾存放裁剪的圖片。

2、對每張圖片,

(1)初步框選你要裁剪的矩形框,會自動以你框選的左上點為起點,裁剪大小為長寬自動擴展,結果會自動保存值..\Crop文件夾

(2)圖片show出來後,也可以不用框選,只需要心中想好你要裁剪圖片的左上起點就好,然後點一下該點,就會自動save。

%% use mouse to rect picture,and auto change to next picture
%  《機器學習快速截圖》 by 亦行之 20190124 15:26:30
clear;clc;clear all;
file_path 
= uigetdir(*.*,Please Select Folder); img_path_list = dir(strcat(file_path,\‘,*.jpg)); mkdir(strcat(file_path,\Crop)); img_num = length(img_path_list); I=cell(1,img_num); if img_num > 0 for j = 1:img_num image_name = img_path_list(j).name; image = imread(strcat(file_path,
\‘,image_name)); I{j}=image; %檢查當前圖片大小 width=size(I{j},2); length=size(I{j},1); %顯示圖像, imshow(image); % 實現鼠標框選並記錄選框的坐標 pos = getPosition(imrect); %設定截圖大小為227*227pixel,所以只需選擇左上作為截圖起點,間距226 x_crop = 226; y_crop = 226
; %計算截圖的起始和終點位置 col=round(pos(1)) : round(pos(1) + x_crop); row=round(pos(2)) : round(pos(2) + y_crop); %檢出是否越界 if (pos(1)+x_crop) > width col = round(width-x_crop) : round(width); end if (pos(2)+y_crop) > length row = round(length-y_crop) : round(length); end %生成裁剪後的圖片並顯示(延時0.3s) subwin=image(row,col,:); figure; imshow(subwin); pause(0.3); %保存圖片到對應的文件夾下,並關閉當前文件的圖片 imwrite(subwin,strcat(file_path,\Crop\‘,image_name)); close all; %當圖片都檢測完畢,提示截圖結束。 if j == img_num h = msgbox(All picture have been cropped!) end end end

機器學習快速截圖工具matlab版本——文件夾批量處理(原創)