matlab颜色识别代码
时间: 2023-09-09 14:07:13 浏览: 82
以下是一个简单的 MATLAB 代码示例,用于识别 RGB 彩色图像中的特定颜色:
```matlab
% 读取图像
img = imread('image.jpg');
% 将 RGB 图像转换为 HSV 图像
hsvImg = rgb2hsv(img);
% 定义目标颜色的 HSV 范围
hueLow = 0.05;
hueHigh = 0.15;
satLow = 0.5;
satHigh = 1;
valLow = 0.5;
valHigh = 1;
% 创建蒙版
hueMask = (hsvImg(:,:,1) >= hueLow) & (hsvImg(:,:,1) <= hueHigh);
satMask = (hsvImg(:,:,2) >= satLow) & (hsvImg(:,:,2) <= satHigh);
valMask = (hsvImg(:,:,3) >= valLow) & (hsvImg(:,:,3) <= valHigh);
% 将蒙版合并成一个二进制蒙版
mask = uint8(hueMask & satMask & valMask);
% 用蒙版过滤图像并显示结果
resultImg = bsxfun(@times, img, mask);
imshow(resultImg);
```
在此代码中,我们首先读取图像并将其转换为 HSV 格式。然后,我们定义了目标颜色在 HSV 颜色空间中的范围,并创建了三个蒙版(对应于 H、S、V 分量)。最后,我们将这些蒙版合并成一个二进制蒙版,用它来过滤原始图像并显示结果。
请注意,此代码示例仅考虑了单个颜色的情况。如果您需要识别多个颜色,则需要考虑使用不同的 HSV 范围,并对每个颜色创建一个独立的二进制蒙版。
阅读全文