Parameterize Image Name In Function

Hello Colleagues, I have Function with parameter image name, inside the function i want to write image after some of editing, but i want to take part from image name and add another part as imwrite image name for example
function editing (ImageName)
w=imread(ImageName);
w=double(w);
w=w+0.02;
w=uint8(w);
imwrite(w,'w_ImageName.jpg','jpg');
end
I want the new image name to be w letter with image name.

 Accepted Answer

So what you can do is strip the extension off of the ImageName string variable.
function editing (ImageName)
w=imread(ImageName);
w=double(w);
w=w+0.02;
w=uint8(w);
ImageName=ImageName(1:end-4); %strip off the extension;
imwrite(w,['w_' ImageName '.jpg'],'jpg'); %concatenate your prefix and new extension.
end

1 Comment

It seems ImageName variable in line ImageName=ImageName(1:end-4); %strip off the extension; will store the image pixels values not the image name itself;

Sign in to comment.

More Answers (1)

Thank you for your helping, It solved by adding this line ImageName =ImageName; at the first of the function like this :
function editing (ImageName)
ImageName =ImageName;
w=imread(ImageName);
w=double(w);
w=w+0.02;
w=uint8(w);
ImageName=ImageName(1:end-4); %strip off the extension;
imwrite(w,['w_' ImageName '.jpg'],'jpg'); %concatenate your prefix and new extension.
end

Categories

Find more on Images in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!