Finding problem in retrieving output images from a function

1 回表示 (過去 30 日間)
Febin Benjamin
Febin Benjamin 2013 年 7 月 23 日
This is my code..... The main body accepts images and filter matrix and passes this as inputs to a function called MyFilter.....
m = input('Enter number of rows: ');
n = input('Enter number of columns: ');
for i = 1:m
for j = 1:n
str = ['Enter element in row ' num2str(i) ', col ' num2str(j) ': '];
A(i,j) = input(str);
end
end
fontSize = 20;
for k = 1:25
tifFilename = sprintf('%d.tif', k);
if ~exist(tifFilename, 'file')
fprintf('%s not found.\n', tifFilename);
continue;
end
rgbImage = imread(tifFilename);
grayImage = rgb2gray(rgbImage );
BW = Myfilter(grayImage,A);
figure,imshow(rgbImage);
title('Color Image', 'FontSize', fontSize);
figure,imshow(BW);
title('Binary Edge Image', 'FontSize', fontSize);
end
And this is the function MyFilter which I am calling......
i = imread(grayImage);
filter = A;
[x y] = size(i);
g = double(i);
k= double(i);
h = zeros(256,256);
for xi = 2 : 255
for yi = 2 : 255
i(xi,yi)=((g(xi,yi)*filter(2,2) + g(xi,yi-1)*filter(2,1) + g(xi+1,yi-1)*filter(3,1) + g(xi+1,yi)* filter(3,2) + g(xi+1,yi+1)*filter(3,3)+ g(xi-1,yi+1)*filter(1,3)+g(xi-1,yi)*filter(1,2)+ g(xi-1,yi-1)*filter(1,1)+g(xi+1,yi)*filter(3,2)))/2;
%h(xi,yi)
end
end
How can i get the images back from the called function after they are processed inside the function?

採用された回答

Image Analyst
Image Analyst 2013 年 7 月 23 日
Have the first line be
function i = MyFilter(A)
I advise you to use other names for the variables you call "i" and "filter" since they have special built-in meanings for MATLAB and you shouldn't overwrite them with your variables.
  1 件のコメント
Febin Benjamin
Febin Benjamin 2013 年 7 月 23 日
Where should i write that? In main or Function?

サインインしてコメントする。

その他の回答 (1 件)

Image Analyst
Image Analyst 2013 年 7 月 23 日
Have the first line be
function i = MyFilter(A)
I advise you to use other names for the variables you call "i" and "filter" since they have special built-in meanings for MATLAB and you shouldn't overwrite them with your variables.

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by