【问题标题】:Filtering out pixels in the green channel with MATLAB, etc用 MATLAB 等过滤掉绿色通道中的像素
【发布时间】:2013-03-25 06:29:32
【问题描述】:

这是来自 Stack Overflow 问题 How do I calculate the area under a curve in an image with MATLAB?,但我也对此感兴趣。

  1. 如何过滤掉不在绿色通道中的像素?
  2. 如何使用 MATLAB 选择一个位于封闭框内的点?

Alt text http://internationalpropertiesregistry.com/Server/showFile.php?file=%2FUpload%2Fstatistics.gifc49ca28823a561a41d09ef9adbb5e0c5.gif

【问题讨论】:

  • 图片链接好像坏了。

标签: matlab image-processing


【解决方案1】:

关于你的两个问题:

  1. 彩色像素具有红色、绿色和蓝色分量。根据颜色选择像素涉及选择像素中存在的每个 RGB 分量的数量。例如,纯白色像素的每个颜色分量都处于最大值(如果图像类型为双精度,则为 1,如果图像类型为 uint8,则为 255)。您可以查看my solution to the referenced question,了解一种可以根据 RGB 分量选择像素的方法。您还可以查看this MATLAB documentation,了解有关图像及其数据类型的更多信息。

  2. 选择一个点的一种方法是让用户使用GINPUT 函数来选择它。例如,以下将让用户从当前轴中选择 1 个点,返回他们单击的 x 和 y 坐标:

    [x,y] = ginput(1);
    

【讨论】:

    【解决方案2】:

    第一个问题,@gnovice的回答就够了。

    对于第二个问题:使用蒙特卡洛方法:让算法使用RANDI 选择一个随机像素(您可能希望在图像中心的 20 个像素内进行搜索,以避免出现边界问题) .如果是绿色像素,请再试一次。如果它是一个白色像素,那么您就在其中一个正方形内。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多