【发布时间】:2013-01-09 15:00:17
【问题描述】:
我是 MATLAB 新手,我正在尝试在 matlab 中使用 algorithm 实现洪水填充,我不知道我做错了什么可能是我没有正确使用递归函数,但我仍然没有出错,这段代码让我的matlab关闭 我正在使用以下代码,我从早上开始尝试对其进行调试,但未能找到问题
function [ colored_Image ] = floodFill( image, target_Loc_x, target_Loc_y, targetColor, replacementColor )
colored_Image = image;
if (target_Loc_x >= 1) && (target_Loc_x <= size(image,1)) && (target_Loc_y >= 1) && (target_Loc_y <= size(image,2))
if image(target_Loc_x,target_Loc_y) == targetColor
colored_Image(target_Loc_x,target_Loc_y) = replacementColor;
colored_Image = floodFill(colored_Image,target_Loc_x ,target_Loc_y + 1, targetColor, replacementColor);
colored_Image = floodFill(colored_Image,target_Loc_x + 1,target_Loc_y, targetColor, replacementColor);
colored_Image = floodFill(colored_Image,target_Loc_x,target_Loc_y - 1, targetColor, replacementColor);
colored_Image = floodFill(colored_Image,target_Loc_x - 1,target_Loc_y, targetColor, replacementColor);
end
end
end
使用
调用这个函数image = floodFill(im,1,1,0,127);
imshow(image);
im 是我的 200 x 200 的矩阵图像我想要我的黑色(0)到灰色(127),任何帮助将不胜感激
【问题讨论】:
标签: matlab flood-fill