How do I save an image with a name same as the original image?

3 次查看(过去 30 天)
I need to save an image like the original image, for example:
original image = 001A.jpg
saved image = 001A(1).jpg
clear all
clc
%Detect objects using Viola-Jones Algorithm
imgdir = 'C:\Users\Lewis\Documents\MATLAB\testingimage';
DestDir = 'C:\Users\Lewis\Documents\MATLAB\violajones\croppedimage';
%To detect Face
FDetect = vision.CascadeObjectDetector;
%Read the input image
images = dir(fullfile(imgdir, '*.jpg'));
numfiles = length(images);
myimage = cell(1,numfiles);
for k = 1:numfiles
myimage{k} = imread(fullfile( imgdir, images(k).name));
%Returns Bounding Box values based on number of objects
BB = step(FDetect,myimage{k});
for i = 1:size(BB,1)
rectangle('Position',BB(i,:),'LineWidth',5,'LineStyle','-','EdgeColor','r');
croppedimage = imcrop(myimage{k},BB(i,:));
end
filename = ['croppedTE' ,num2str(k),'.jpg'];
imwrite(croppedimage, fullfile(DestDir, filename));
end

采纳的回答

Guillaume
Guillaume 2016-10-2
编辑:Image Analyst 2016-10-2
Your question is puzzling: since you manage to come up with some fairly complex code it should be obvious to you what needs changing in order to do what you want. The other option is this is not your code, in which case you should try to understand what each step does. Again, the solution should then be obvious:
Change the filename creation line to:
filename = [images(k).name, '(', num2str(k), ').jpg');
Note that I prefer using sprintf instead of string concatenation and num2str, so I'd write the above as:
filename = sprintf('%s(%d).jpg', images(k).name, k);
  1 个评论
Image Analyst
Image Analyst 2016-10-2
Guillaume's answer is a good one. I'd recommend that you don't use jpg if you're going to do image analysis though. Use PNG format instead.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Display and Exploration 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by