【问题标题】:Applying an image as a mask in matlab在matlab中应用图像作为蒙版
【发布时间】:2016-07-15 12:34:53
【问题描述】:

我是通过 Matlab 进行图像处理的新用户。我的首要目标是应用这篇文章并比较我的结果和作者的结果。
文章可以在这里找到:http://arxiv.org/ftp/arxiv/papers/1306/1306.0139.pdf

第一个问题,图像质量:在图 7 中,定义了掩码,但我无法访问掩码数据集,并且我使用屏幕截图,因此图像质量很低。在我看来,它可以影响结果。有什么建议吗?

第二个问题,合并图像:我想在 Lena 上应用蒙版 1。但我不想使用paint =)另一方面,是否可以合并图像并保留lena?

【问题讨论】:

  • 您能分享一下到目前为止您尝试过的代码吗?谢谢
  • 我只能使用 imread 和 imshow 代码作为 mask 和 lena,换句话说,我真的离开了 :)
  • 嘿@user3470711,我发布了你的问题的答案,如果它有效,请告诉我,如果有效,请投赞成票!谢谢!

标签: image matlab image-processing kriging


【解决方案1】:

首先,您必须知道这篇论文是在存档中发表的。当论文在存档中发表时,最好了解更多关于作者和/或发表论文的大学的信息。 相信我:你不需要在这篇论文上浪费时间。

我了解您的需求:但是通过打印屏幕来获取口罩并不是一个好主意。使用打印屏幕可以达到的像素值可能与原始值不同。缩放可能会改变大小。所以你需要确保尺寸是一样的。

您可以打印屏幕。过去的图像。 裁剪蒙版。 将 rgb 转换为灰度。 阈值灰度得到二进制。

如果您将图像保存为 jpeg。由于高频边缘产生的失真会改变边缘形状。

【讨论】:

  • 实际上,我是在问这个问题@dfri I=imread('lena_gray_256.tif'); M=imread('M1.tif'); M1=im2bw(M,0.5); ML=I; ML(M1==0)= 0; imshow(ML); 并且,解决了!谢谢大家!
【解决方案2】:

您需要创建掩码数组。第一步可能是将您从图 7 中捕获的图像转换为黑白图像:

Mask = im2bw(Figure7, 0.5);

现在背景(白色)全为 1,黑线(或文本)为 0。 让我们确保您从imread 获得的 Lena 图像实际上是灰度的:

LenaGray = rgb2gray(Lena);

最后,将你的面具涂在 Lena 上:

LenaAndMask = LenaGray.*Mask;

当然,如果 Lena 和 Figure7 的大小不同,最后一行将不起作用,但这应该很容易解决。

【讨论】:

  • 谢谢@Cynthia GS!正如你所说的最后一行不起作用。我应该改变面具的类别吗?名称大小字节类属性I 256x256 65536 uint8 M 256x256x3 196608 uint8 掩码256x256 65536 逻辑
猜你喜欢
  • 1970-01-01
  • 2014-08-29
  • 2016-07-14
  • 2011-11-20
  • 2015-07-07
  • 1970-01-01
  • 2020-05-13
  • 1970-01-01
  • 2013-03-16
相关资源
最近更新 更多