05-VTK在图像处理中的应用(3)

本文详细介绍了VTK库在图像颜色处理中的应用,包括图像灰度映射、颜色分量提取、彩色映射和颜色合成。通过vtkImageLuminance将RGB图像转换为灰度图像,使用vtkImageExtractComponents提取颜色分量,通过vtkImageMapToColors进行彩色映射,以及使用vtkImageAppendComponents进行颜色合成,展示了VTK在图像处理的强大功能。
摘要由CSDN通过智能技术生成

5.6 图像颜色映射

5.6.1 图像灰度映射

vtkImageLuminance负责将一个RGB彩色图像转换为一个单组分的灰度图像。映射公式如下:

luminance = 0.3*R + 0.59*G + 0.11*B

该公式中,R为输入图像的第一分量(红色),G为第二分量(绿色),B为第三分量(蓝色)。这个计算结果计算一个RGB颜色的亮度。该类的使用也比较简单,用户无须设置参数,代码如下:

 

1:      vtkSmartPointer<vtkBMPReader> reader =

   2:          vtkSmartPointer<vtkBMPReader>::New();

   3:      reader->SetFileName ( "..\\lena.bmp" );

   4:  

   5:      vtkSmartPointer<vtkImageLuminance> luminanceFilter =

   6:          vtkSmartPointer<vtkImageLuminance>::New();

   7:      luminanceFilter->SetInput(reader->GetOutput());

   8:      luminanceFilter->Update();

 

上例中读入一副RGB彩色Lena图像,通过vtkImageLuminance转换为灰度图像,执行结果如图5.14下:

 

图5.14 VTK图像灰度映射

 

5.6.2 提取颜色分量

VTK中利用vtkImageExtractComponents可以方便的提取出彩色图像的各个颜色分量,该类的使用比较简单,只需要设置要提取的分量序号即可。下面代码说明了怎样提取彩色图像的某个颜色分量。

   1:   vtkSmartPointer<vtkBMPReader> reader =

   2:       vtkSmartPointer<vtkBMPReader>::New();

   3:    reader->SetFileName ( "..\\lena.bmp" );

   4:  

   5:   vtkSmartPo

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值