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);

 채택된 답변

Geoff Hayes
Geoff Hayes 2016년 7월 23일

0 개 추천

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.

추가 답변 (1개)

the cyclist
the cyclist 2016년 7월 23일

0 개 추천

The output variable S1 is never assigned in the function.

카테고리

도움말 센터File Exchange에서 Agriculture에 대해 자세히 알아보기

질문:

2016년 7월 23일

답변:

2016년 7월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by