现在的位置: 首页 > 综合 > 正文

数字图像处理 RGB与HIS彩色空间分割

2013年08月03日 ⁄ 综合 ⁄ 共 923字 ⁄ 字号 评论关闭

一.实验题目

参照下图编程实现RGB与HIS彩色空间分割,并对分割结果进行比较。

二.实验分析

本实验主要考查彩色图像分割,由于RGB图像、HIS图像间的相互转换过程

比较复杂,实现起来代码比较长,本实验通过rgb2hsv进行转换,HIS和HSV图像

还是有一定的区别的,但影响不是很大。处理过程大致如下:

①将rgb图像转换成his图像

②将his的h和s分量做点乘运算

③设置参数,生成阈值图像

④将阈值图像与rgb,his图像相乘便得到分割图像。

三.实验程序

clear;clc;
I=imread('images_chapter_06\Fig6.28(b).jpg');
subplot(2,2,1);imshow(I);xlabel('original image');
I1=rgb2hsv(I);scale=0.5;
I2=I1(:,:,1).*I1(:,:,2);
m=I2>max(max(I2))*scale;
for u=1:3
    I(:,:,u)=I(:,:,u).*uint8(m);
end
% T=max(I(:))*scale;I11=double(I);
% I11(:,:,1)=I11(:,:,1).*double(I11(:,:,1)>T);
% I11(:,:,2)=I11(:,:,2).*double(I11(:,:,2)>T);
% I11(:,:,3)=I11(:,:,3).*double(I11(:,:,3)>T);
subplot(2,2,3);imshow(I,[]);xlabel('RGB segmentation');
I3=double(m);
I1(:,:,1)=I1(:,:,1).*I3;
I1(:,:,2)=I1(:,:,2).*I3;
I1(:,:,3)=I1(:,:,3).*I3;
subplot(2,2,4);imshow(I1,[]);xlabel('HSV segmentation');
% figure;imshow(I11,[]);

 

四.实验结果

       由于红色区域亮度比较大,且和其他部分相差较大,因此,经过运算就将红色部分分割出来了。

在进行rgb分割时也可以不借助hsv的分量进行处理,用rgb的最大亮度的scale倍作为分割点。

抱歉!评论已关闭.