Image 利用MatLab实现图像的黑框分割

Image 利用MatLab实现图像的黑框分割,image,matlab,Image,Matlab,在我的硕士论文中,我必须用Matlab检查几个结构相似的图像。我已经对实际评估进行了编码。我的问题是图像有不同厚度的黑色边框。这将导致评估被伪造。到目前为止,我用手切断了边界。所以我想问是否有人能帮我用Matlab代码剪切这个框架 下面是一张示例图片, 我试图用edge插件()解决这个问题,但没有成功 也许你可以给我一些建议我不会像你在问题中链接的那样使用边缘检测 相反,我会专注于缩小图像的尺寸,并分析“缩小的图像”。在下面的代码中,您可以看到一个将图像缩小为两条代表线的示例,并分析该线以检测

在我的硕士论文中,我必须用Matlab检查几个结构相似的图像。我已经对实际评估进行了编码。我的问题是图像有不同厚度的黑色边框。这将导致评估被伪造。到目前为止,我用手切断了边界。所以我想问是否有人能帮我用Matlab代码剪切这个框架

下面是一张示例图片,

我试图用edge插件()解决这个问题,但没有成功


也许你可以给我一些建议

我不会像你在问题中链接的那样使用边缘检测

相反,我会专注于缩小图像的尺寸,并分析“缩小的图像”。在下面的代码中,您可以看到一个将图像缩小为两条代表线的示例,并分析该线以检测样本

% Load the image.
Img = imread('pfi36.png');

% Level to pass for the "edge" detection.
lvl = 50;

% Add a buffer around the edges.
buf = 10;

% Reduce the Image to 1D along the x and y driections respectively.
lrData = mean(Img,1); 
tdData = mean(Img,2);

% Find the indices of the edges.
indL = find(lrData>lvl,1,'first');
indR = find(lrData>lvl,1,'last');
indB = find(tdData>lvl,1,'last');

% Show the Cropped image.
newImg = Img(1:(indB+buf),(indL-buf):(indR+buf));
imshow(newImg);