0
我试图保存图像中的每个矩形作为单独的jpeg图像以便能够训练神经网络。我这是怎么画一个矩形在卡车:如何分离和保存图像的一部分?
function hdl = BBox(img, samp)
I = imread(img);
hdl = imshow(img);
hold on;
s = size(samp,1);
for i=1:s
bbox = samp(i,:);
X = [bbox(3)-(bbox(5)), bbox(3)-(bbox(5)), bbox(3)-(bbox(5))+2*bbox(5), bbox(3)-(bbox(5))+2*bbox(5), bbox(3)-(bbox(5))];
Y = [bbox(4)-(bbox(6)), bbox(4)-(bbox(6))+2*bbox(6), bbox(4)-(bbox(6))+2*bbox(6), bbox(4)-(bbox(6)), bbox(4)-(bbox(6))];
Cx = bbox(3);
Cy = bbox(4);
H = [X;Y;ones(1,5)]; %// points as 3D homogeneous coordinates
Tc = [1 0 -Cx; 0 1 -Cy; 0 0 1]; %// translation as a matrix
Tr = [cosd((-bbox(7))) -sind((-bbox(7))) 0; sind((-bbox(7))) cosd((-bbox(7))) 0; 0 0 1]; %// rotation
Hr = inv(Tc) * Tr * Tc * H; %// all transformations as matrix products
plot(Hr(1,:), Hr(2,:)); %// the rotated rect
disp(Hr);
end
我不认为对旋转矩形的imcrop命令作品。
如何将每个矩形保存为不同的图像?
感谢您的功能。关于机器学习问题,我希望你能告诉我:我必须像这样分开每辆车来创建一个深入的学习CNN或没有必要?我想训练一个CNN来探测卫星图像中的车辆。 –
@HadiGhahremanNezhad我认为这肯定会有所帮助。只要意识到你正在训练模型来识别切出的矩形是否是一辆车。 (我想你也会砍掉很多其他物品?)。如果你的目标是要确认'一张照片是否包含一辆车',我不确定你是否应该剪掉它,因为周围环境也可能是相关的。 –