使用MATLAB提取图片中特定颜色

在做毕设的过程中,用到了这方面的知识,即把TIFF格式图片中含有某一特定颜色的部分提取出来,图片的其他部分变为白色。
提取过程大致包括以下几步:
(1)先将rgb图像转换为hsv图像;

rgb转换到hsv的公式如下:
在这里插入图片描述
(2)将图像转换为hsv之后,先创建一个白色图像,再根据需要,通过控制H通道来提取特定颜色的部分,并将提取出来的部分复制到刚刚创建的白色图像上;

下图是H通道控制不同颜色时的取值范围:
在这里插入图片描述
(3)最后将hsv图像转换至rgb图像进行显示。

下面以提取图片中的绿色为例,以下是用MATLAB实现的代码:

clear all;
clc;
flag = imread('图片名称.tif'); % 读取图像       
figure;
imshow(flag); % 展示图像     
% 将图像的rgb色彩空间转化至hsv色彩空间
flag_hsv = rgb2hsv(flag);      
% 创建一个白色图像,将特定颜色提取到此处
flag_new = 255*ones(size(flag));
% 将该图像转至hsv色彩空间
flag_new_hsv = rgb2hsv(flag_new);
% 找出图像中绿色的像素
[row, col] = ind2sub(size(flag_hsv),find(flag_hsv(:,:,1)>0.12...
& flag_hsv(:,:,1)< 0.6 & flag_hsv(:,:,2)>0.16 & flag_hsv(:,:,3)>0.18));
% 将图像中的绿色像素复制到刚才新建的白色图像中
for i = 1 : length(row)
    flag_new_hsv(row(i),col(i),:) = flag_hsv(row(i),col(i),:);
end
% 将提取出来的绿色,转化至rgb空间,进行展示
flag_green = hsv2rgb(flag_new_hsv);
figure
imshow(flag_green)

以上就是提取图像中特定颜色的主要原理以及编程实现过程。

  • 52
    点赞
  • 322
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 36
    评论
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GISerQ.

你的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值