What is wrong in this code

1 次查看(过去 30 天)
function [jaccard_Idx,jaccardDist]=jacarrd_coefficient(imgorig,imgseg)
{
%check for logical image
if ~islogical(imgorig)
error('Image must be logical');
end
if ~islogical(imgseg)
error('Image must be logical');
end
%find the intersection of both the image
inter_image=img_orig & img_seg;
%find the union of both the image
union_image=img_orig./img_seg;
jaccard_Idx=sum(inter_image(:))./sum(union_image(:));
jaccardDist=1-jaccard_Idx;
}
getting following error
??? Error: File: jacarrd_coefficient.m Line: 4 Column: 1 Illegal use of reserved keyword "if".

采纳的回答

Pierre Benoit
Pierre Benoit 2014-9-12
You're not using the proper Matlab syntax for defining function, i.e. you don't need curly braces to define function. Just remove them and it should be fine.
function [jaccard_Idx,jaccardDist]=jacarrd_coefficient(imgorig,imgseg)
%check for logical image
if ~islogical(imgorig)
error('Image must be logical');
end
if ~islogical(imgseg)
error('Image must be logical');
end
%find the intersection of both the image
inter_image=img_orig & img_seg;
%find the union of both the image
union_image=img_orig./img_seg;
jaccard_Idx=sum(inter_image(:))./sum(union_image(:));
jaccardDist=1-jaccard_Idx;

更多回答(0 个)

产品

Community Treasure Hunt

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

Start Hunting!

Translated by