【问题标题】:Assigning colours to regions of an image为图像的区域分配颜色
【发布时间】:2013-10-07 15:03:06
【问题描述】:

对于我拥有的图像,如何在MATLAB 中执行以下操作?

  • 给像素赋值100,例如颜色green
  • 将像素与0 保持原样。也就是说,让他们保持black
  • 为所有其他像素赋予颜色red

编辑

如果我现在知道值为255 的像素是白色的,那么0 是黑色的。如何将red 颜色分配给值为255 的像素,并将颜色green 分配给所有其他像素?谢谢

谢谢。

【问题讨论】:

标签: matlab image-processing colors pixel


【解决方案1】:

您需要制作一个颜色图。
假设您的图像是uint8 类型,您可以创建一个 256 色的地图:

myMap = repmat( [1 0 0], [256,1] ); % make it all red
myMap(1,:) = 0; % make first color black
myMap(100,:) = [0 1 0]; % green for 100
cimg = ind2rgb( uint8im, myMap ); % convert to color according to map

【讨论】:

  • @Simplicity 你是对的。 ind2rgb 假设输入图像是映射图像。输入 doc ind2rgb 获取更多帮助。
  • @Shai。在这种情况下我应该怎么做才能获得输出?谢谢
  • 如果你的输入是axbxc,你期望的输出大小是多少?
  • @Simplicity 如果您的图像有 3 个颜色通道,那么“值为 100 的像素”到底是什么意思?在哪个频道?其中之一?全部?
  • @Simplicity 使用rgb2gray 将您的图像转换为灰色,您最终会得到axb 图像,使用impixelinfo 检查“灰色”和“白色”的值是什么,然后您可以使用我的答案。你可能想看看label2rgb
猜你喜欢
  • 2018-02-03
  • 1970-01-01
  • 2021-05-03
  • 1970-01-01
  • 2011-09-21
  • 1970-01-01
  • 1970-01-01
  • 2013-01-04
  • 2021-04-30
相关资源
最近更新 更多