How can I convert following script to function?

1 次查看(过去 30 天)
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))

采纳的回答

Al Dente
Al Dente 2015-8-4
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 个评论
Al Dente
Al Dente 2015-8-4
编辑:Al Dente 2015-8-4
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 2015-8-4
编辑:Jan 2022-2-6
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'

请先登录,再进行评论。

更多回答(0 个)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by