How can I convert following script to function?

1 vue (au cours des 30 derniers jours)
Sel
Sel le 4 Août 2015
Modifié(e) : Jan le 6 Fév 2022
Hi all,
I am having trouble converting following script to function. Function need to have xxx(image,factor). My script is below.
a=imread('cameraman.tif');
[m n] = size(a);
p = 2;
for i=1:m %loop to extract every row
for j=1:n %loop to extract every column
for k=1:p %loop to control the number of replication
b(i,(j-1)*p+k)=a(i,j); %replication pf pixels in row wise
end
end
end
c=b;
[m n]=size(c);
for i=1:n %loop to extract every column
for j=1:m %loop to extract every row
for k=1:p %loop to control the number of replication
b((j-1)*p+k,i)=c(j,i); %replication pf pixels in row wise
end
end
end
imshow (a), title('Original Image')
figure, imshow(b), title('Resized Image')
xlabel(sprintf('Resizing factor is %g', p))

Réponse acceptée

Al Dente
Al Dente le 4 Août 2015
function xxx(image,p)
a=imread(image);
[m n] = size(a);
% remove this line p = 2;
if you don't want to change much of your code then take the above function header I guess, where image is the image you want to use.
  3 commentaires
Al Dente
Al Dente le 4 Août 2015
Modifié(e) : Al Dente le 4 Août 2015
did you put your entire code in an m file and save it? does the m file exist in matlab path? -- the file name must be xxx.m in this case
Al Dente
Al Dente le 4 Août 2015
Modifié(e) : Jan le 6 Fév 2022
function xxx(image,p)
a=imread(image);
[m n] = size(a);
%p = 2;
for i=1:m %loop to extract every row
for j=1:n %loop to extract every column
for k=1:p %loop to control the number of replication
b(i,(j-1)*p+k)=a(i,j); %replication pf pixels in row wise
end
end
end
c=b;
[m n]=size(c);
for i=1:n %loop to extract every column
for j=1:m %loop to extract every row
for k=1:p %loop to control the number of replication
b((j-1)*p+k,i)=c(j,i); %replication pf pixels in row wise
end
end
end
imshow (a), title('Original Image')
figure, imshow(b), title('Resized Image')
xlabel(sprintf('Resizing factor is %g', p))
end
this should be your code basically, put that in a new m file and save it as xxx.m and make sure to have it in your matlab path -- see addpath.
then you can xxx('cameraman.tif', 2) -- 'cameraman.tif' has to be in your matlab path as well, if not then use the entire path --> 'c:\foo\bar\cameraman.tif'

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Display Image dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by