我尝试创建一个MATLAB函数,它将.png文件作为参数,但我不断收到错误。
这是功能:
function [] = maskareddot(filename)
red_dot=filename;
figure, imshow(red_dot)
boja =impixel;
tol =10;
mask_reddot =(red_dot(:,:,1)<boja(1)+tol) & (red_dot(:,:,1)>boja(1)-tol) & ...
(red_dot(:,:,2)<boja(2)+tol) & (red_dot(:,:,2)>boja(2)-tol) & ...
(red_dot(:,:,3)<boja(3)+tol) & (red_dot(:,:,3)>boja(3)-tol);
se=strel('disk',2);
mask_reddot_dilate=imdilate(mask_reddot,se);
end
当我写:
a=imread('a.png');
maskareddot(a);'
我收到此错误:
Undefined function 'maskareddot' for input arguments of type 'uint8'.
答案 0 :(得分:0)
首先,您要将图像加载到函数外部,因此函数的输入不是filename
,而是图像本身。
其次,您必须将maskareddot
函数保存在名为maskareddot.m
的文件中,并将其放在当前文件夹或MATLAB路径中。