如何将图像文件作为MATLAB函数中的参数?

时间:2016-09-18 16:51:30

标签: matlab image-processing input

我尝试创建一个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'.

1 个答案:

答案 0 :(得分:0)

首先,您要将图像加载到函数外部,因此函数的输入不是filename,而是图像本身。

其次,您必须将maskareddot函数保存在名为maskareddot.m的文件中,并将其放在当前文件夹或MATLAB路径中。