【问题标题】:Trying to cut an image via Matlab尝试通过 Matlab 剪切图像
【发布时间】:2017-06-17 08:50:42
【问题描述】:

亲爱的朋友们,我正在尝试对图像进行二值化,如果我把黑色部分剪掉会更好看。为了避免任何有趣的边缘效果,我将把图案裁剪成一个圆圈,所以我们的“蒙版”与 Matlab 的相关 sn-p 一起绘制在下面

P = imread('Pattern.png');
P = 1-im2bw(P); % Keep black parts
Nmin = min(size(P));
% Crop into square, then circle
P = P(1:Nmin, 1:Nmin);
[xg, yg] = meshgrid(1:Nmin, 1:Nmin);
P((xg - Nmin/2).^2 + (yg - Nmin/2).^2 > 0.99*0.25*Nmin^2) = 0;
% Create a small border
P = padarray(P, [1 1], 0);

但由于某种原因,我遇到了第 7 行的问题,

Error: File: Try1.m Line: 7 Column: 42
Unbalanced or unexpected parenthesis or bracket.

请帮帮我...

编辑:

这里是解释

【问题讨论】:

  • 定义“问题”。你想在第 7 行做什么?你是什​​么意思“切掉黑色部分”?您有示例输入和输出图像吗?您的代码实际上并没有 >,是吗?
  • 将图片附加到 Q. 第 7 行,包括 cmets 还是不包括在内?
  • 里面的;应该是,
  • @hbaderts dose'nt work....
  • @beaker 添加了简单的图片来解释它,“你的代码实际上有&gt”是什么意思?

标签: image matlab bitmap crop mask


【解决方案1】:

我假设您已从网站复制此代码。原因如下:

P((xg - Nmin/2).^2 + (yg - Nmin/2).^2 > 0.99*0.25*Nmin^2) = 0;

注意到>了吗? (这是@beaker 在他们的评论中提到的)如果您在找到它的网站上查看原始代码,可能有一个> 而不是> 对吗?

原因是在 HTML 中,> 符号由writing > in the HTML source code 显示。当网站显示在您的浏览器中时,它会将> 转换为> 符号,但显然在复制粘贴代码时,它显然复制了HTML 源代码而不是呈现的符号。

MATLAB 当然不能处理 HTML 源代码,所以您必须将 > 替换为 > 并且您的代码可以正常工作:

P((xg - Nmin/2).^2 + (yg - Nmin/2).^2 > 0.99*0.25*Nmin^2) = 0;

【讨论】:

    猜你喜欢
    • 2014-08-08
    • 2018-04-10
    • 1970-01-01
    • 2023-03-16
    • 2023-03-03
    • 1970-01-01
    • 2013-04-20
    • 2016-12-05
    • 2012-02-12
    相关资源
    最近更新 更多