0
怎么办上的图像的ROI(只)边缘检测而不处理图像的其余部分?我曾尝试以下,但它不工作:实施边缘检测图像的ROI在Matlab
h4 = @(x) edge(x,'log');
Edge_map = roifilt2(Foregound_Newframe,roi_mask,h4);
roi_mask的是,我使用的二进制掩码和Foregound_Newframe是要处理的灰度图像。请举一个例子。谢谢。
怎么办上的图像的ROI(只)边缘检测而不处理图像的其余部分?我曾尝试以下,但它不工作:实施边缘检测图像的ROI在Matlab
h4 = @(x) edge(x,'log');
Edge_map = roifilt2(Foregound_Newframe,roi_mask,h4);
roi_mask的是,我使用的二进制掩码和Foregound_Newframe是要处理的灰度图像。请举一个例子。谢谢。
我看到的错误是,你正在使用做过滤的功能,需要double
类型的输入参数,否则您的通话语法应该很好地工作。
即使用
YourFilter = @(x) edge(double(x),'log');
当我将此从roifilt2
docs它工作得很好的例子(好吧,它看起来怪异在这种情况下...):
clc
clear
FullImage = imread('eight.tif');
roi_col = [222 272 300 270 221 194];
roi_row = [21 21 75 121 121 75];
ROI = roipoly(FullImage,roi_col,roi_row);
YourFilter = @(x) edge(double(x),'log');
J = roifilt2(FullImage,ROI,YourFilter);
figure, imshow(FullImage), figure, imshow(J)
与下面的输出:
你是否试过我的建议? –