机器学习快速截图工具matlab版本——文件夹批量处理(原创)
生活随笔
收集整理的這篇文章主要介紹了
机器学习快速截图工具matlab版本——文件夹批量处理(原创)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡要說明:
1、打開文件夾后,遍歷所有JPG格式圖片,在同目錄下新建一個CROP的文件夾存放裁剪的圖片。
2、對每張圖片,
(1)初步框選你要裁剪的矩形框,會自動以你框選的左上點為起點,裁剪大小為長寬自動擴展,結果會自動保存值..\Crop文件夾
(2)圖片show出來后,也可以不用框選,鼠標點擊你要截圖的中心位置即可,然后點一下,就會自動save。
1 %% use mouse to rect picture,and auto change to next picture 2 % 《機器學習快速截圖》 by 亦行之 20190124 15:26:30 3 %以鼠標點擊點位實現截圖,文件夾批量處理 4 clear;clc;clear all; 5 file_path = uigetdir('*.*','Please Select Folder'); 6 img_path_list = dir(strcat(file_path,'\','*.jpg')); 7 mkdir(strcat(file_path,'\Crop')); 8 img_num = length(img_path_list); 9 I=cell(1,img_num); 10 if img_num > 0 11 for j = 1:img_num 12 image_name = img_path_list(j).name; 13 image = imread(strcat(file_path,'\',image_name)); 14 I{j}=image; 15 %檢查當前圖片大小 16 width=size(I{j},2); 17 length=size(I{j},1); 18 %顯示圖像, 19 imshow(image); 20 % 實現鼠標框選并記錄選框的坐標 21 pos = getPosition(imrect); 22 %設定截圖大小為224*224pixel,以鼠標點擊的位置作為截圖的中心 23 x_crop = 223; 24 y_crop = 223; 25 %計算截圖的起始和終點位置 26 col=round(pos(1)-x_crop/2) : round(pos(1) + x_crop/2); 27 row=round(pos(2)-y_crop/2) : round(pos(2) + y_crop/2); 28 %檢出是否越界 29 if (pos(1)+x_crop/2) > width 30 col = round(width-x_crop) : round(width); 31 end 32 if (pos(2)+y_crop) > length 33 row = round(length-y_crop) : round(length); 34 end 35 %生成裁剪后的圖片并顯示(延時0.3s) 36 subwin=image(row,col,:); 37 figure; 38 % imshow(subwin); 39 % pause(0.3); 40 %保存圖片到對應的文件夾下,并關閉當前文件的圖片 41 imwrite(subwin,strcat(file_path,'\Crop\',image_name)); 42 close all; 43 %當圖片都檢測完畢,提示截圖結束。 44 if j == img_num 45 h = msgbox('All picture have been cropped!') 46 end 47 end 48 end?
?機器學習快速截圖工具matlab版本——文件夾批量處理(原創)?
轉載于:https://www.cnblogs.com/gohikings/p/10320661.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的机器学习快速截图工具matlab版本——文件夹批量处理(原创)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python:年轻人,不会正则表达式你睡
- 下一篇: Re:从零开始的Spring Sessi