Output argument not assigned during call
1 次查看(过去 30 天)
显示 更早的评论
function [S1]= PCNN(S)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
Alpha_F=0.1;
Alpha_L=1.0;
Alpha_T=1.0;
V_F=0.5;
V_L=0.2;
V_T=20.0;
Beta=0.1;
Num=100;
W=[0.5 1 0.5;1 0 1; 0.5 1 0.5];
M=[0.5 1 0.5;1 0 1; 0.5 1 0.5];
F=zeros(size(S));
L=F;
Y=F;
U=F;
T=ones(size(S));
S=im2double(S);
for n=1:Num
F=exp(-Alpha_F)*F + V_F * conv2(Y,W,'same')+S;
L=exp(-Alpha_L)* L+V_L * conv2(Y,M,'same');
U=F.*(1+Beta* L);
Y=double(U>T);
T=exp(-Alpha_T)*T+V_T*Y;
end
end
Script
I=imread('d:\segleaf\i1.jpg');
[I1]=PCNN(I);
0 个评论
采纳的回答
Geoff Hayes
2016-7-23
Kiruba - look at your function signature
function [S1]= PCNN(S)
The output parameter is S1 yet nowhere in your code is this variable declared. You will need to determine which of the variable in your for loop corresponds to S1 and initialize S1 to this variable.
0 个评论
更多回答(1 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!