MATLAB如何在trainingImageLabeler中获取被截的图像

本文讨论了MATLAB 2021b版本中trainingImageLabeler工具的不便之处,特别是标注图像输出为MAT文件的问题。作者提供了一个简单的脚本,演示如何从MAT文件中提取信息并使用imcrop函数保存裁剪的图像。该脚本旨在帮助用户解决无法直接获取实图的困扰。
摘要由CSDN通过智能技术生成

本人使用的是2021b版本的matlab,界面如图所示:

trainingImageLabeler是一个matlab本身自带的标注工具,作为适配工具,本来应该方便又好用,但是trainingImageLabeler经过几次更新,反而更加拉跨。

尤其是将你标注好的图像输出时,最后只会输出成一个mat文件,虽然也可以通过readtable这样的方式进行读取训练,但是没有实图的情况,还是让人很不舒服,这么个功能怎么就被砍了。

其实这个获取方法非常简单,

l只要load一下你保存的mat文件,工作区就会出现一个gTruth,文件的路径信息和剪裁的正方形面积就在里面。

load('test.mat')

 所以写个脚本,获取信息,然后利用图像的imcrop函数将他裁剪保存出来就行。

脚本如下:

clear all
clc
load('test.mat')

P = size(gTruth.LabelData);
P_size = P(1);

%1是范围,2是图像位置
list1=[];
list2=[];
for i = 1:P_size
    react = gTruth.LabelData{i,1}{1,1};
    pic_path=gTruth.DataSource.Source(i);
    pic_path_str = cell2mat(pic_path);
    list1=[list1;react];
    list2=[list2;pic_path_str];
end

list1;
list2;

for j =1:30
    I=imread(list2(j,:));
    C=imcrop(I,list1(j,:));
    C_last=imresize(C,[227 227]);
    
    num = list2(j,:);
    num_str = num(25:end)
    imwrite(C_last,strcat('aaa/',num_str));
end

临时写的粗糙脚本,希望能够解决你的问题。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值