Vtk图像处理
1、数字图像文件内容由2个部分组成,图像头信息和数据。其中头信息包含了origin(起点)、space(图像间隔)、dimension(维数),图像数据即为图像像素的像素值,包括了灰度、矢量和张量。 其中灰度用unsignedchar来表示,
2、创建图像的source类,vtkImageCanvasSource2D,FillBox设置矩形,SetDrawColor设置颜色。
VtkImageEllipsoidSource:根据指定中心以及各个轴的半径来生成一个前景为椭圆形的二值图像。
VtkImageGaussianSource:生成一副像素值服从高斯分布的图像。
VtkImageGridSource:用于生成网格线图像。
VtkImageNoiseSource:生成一个像素值为随机数的噪声图像。
VtkImageSinusoidSource:生成的图像由正弦函数决定。
3、现在利用vtkImageViewer类来显示图像。先用其建立vtkAcor,vtkRender,vtkRenderWindow,vtkInteratorStypeImage的管线连接。再设置ColorLevel(窗位),ColorWindow(窗宽),Slice(切片索引),Orientation(切片方向)
4、ColorWindow和ColorLever,其中ColorWindow为显示的灰度大小,ColorLever显示的是中心灰度的位置。
![](/qrcode.jpg)
5、Slice(切片):分为3种,SagitalPlane(矢状面),CoronalPlane(冠状面),Transverse/AxialPlane(横断截面),
6、图像融合:vtkImageBlend,SetInput表示输入的图像,SetOpacity表示设置模糊度
7、图像类型转换:
vtkImageCast:可以讲图像算子转换成float或者double类型
vtkImageShiftscale:可以指定偏移和比例参数来对输入图像数据进行操作。
VtkImageLuminance:将一个RGB彩色图像转换为一个单组分的灰度图像。
VtkImageExtractComponets:提取彩色图像的各个颜色组分。
vtkImageAppendComponents:用来合成彩色图像
8、提取感兴趣区域:
vtkExtractVOI:输入输出都是vtkImageData,voidSetVOI()可以输入5个参数,分别代表了3为坐标各个方位的最大值和最小值。
VtkImageReslice:对于任意切面的提取,vtk中鼠标消息是在交互器样式(InteractorStyle),因此通过为交互器样式添加(Observer)来监听相应的消息。当消息触发时,由命令模式执行相应的回调函数。P101有详细调用代码
9、vtkImageAccumulate:用于实现直方图统计功能,输入输出都是vtkImageData类型,
10、vtkImageMagnify:用于实现图像的升采样
11、vtk的图像运算,数学运算,逻辑运算,
12、vtkImageThreshold:图像二值化,设置一个阈值,高于阈值设置成前景,低于阈值设置成背景。还可以设置成3部分阈值,
13、边缘检测:vtkImageGradient类可以计算图像梯度,利用梯度算子分割。
Canny算子/拉普拉斯算子
14、均值滤波:vtk中没有直接进行均值滤波的,只有先通过图像卷积后来实现均值滤波,vtkImageConvolve:需要两个输入,一个是需要进行卷积的图像,另一个是卷积模块数组。
15、高斯平滑:vtkImageGaussianSmooth来实现图像的高斯平滑
16、中值滤波:vtkImageHybridMedian2D来实现二维图像的中值滤波
17、各向异性滤波:vtkImageAnisotropicDiffusion2D(3D)来进行二维和三维图像的各向异性扩散滤波
18、频域处理:快速傅立叶变换,
19、低通滤波:1、理想低通滤波器vtkImageIdeaLowPassp128
2、巴特沃斯低通滤波器:vtkImageButterworthowPass
高通滤波:1、理想高通滤波器vtkImageIdeaHighPass
2、巴特沃斯高通滤波器:vtkImageButterworthHighPass
所有图像处理方法应用在不同的领域。