当前位置: 首页 > 网络知识

ITK 实例5 PNG图像进行不带滤波的二维梯度强度提取

时间:2026-01-29 09:25:26

  图像梯度的强度广泛地应用在图像分析中,主要用来帮助检测对象轮廓和分离均匀区域。 itk::GradientMagnitudeImageFilter 使用一个简单的有限差分方式来计算图像中每个像素位置的梯度强度。例如:在二维情况下计算等同于将图像使用模块类型,如下所示:然后计算它们的平方和并计算和的平方根。

1 #include "itkImage.h" 2 #include "itkImageFileReader.h" 3 #include "itkImageFileWriter.h" 4 #include "itkRescaleIntensityImageFilter.h" 5 #include "itkGradientMagnitudeImageFilter.h"//梯度强度头文件 6 7 int main( int argc, char * argv[] ) 8 */ 15 //选择输入和输出图像的像素类型: 16 typedef float InputPixelType; 17 typedef float OutputPixelType; 18 //使用像素类型可以定义输入、输出图像类型 19 typedef itk::Image< InputPixelType, 2 > InputImageType; 20 typedef itk::Image< OutputPixelType, 2 > OutputImageType; 21 22 typedef itk::ImageFileReader< InputImageType > ReaderType; 23 //通过定义输入输出图像类型来定义梯度强度的类型: 24 typedef itk::GradientMagnitudeImageFilter< 25 InputImageType, OutputImageType > FilterType; 26 //通过调用 New( ) 方式来创建一个滤波器对象并将结果指向一个 itk::SmartPointer : 27 ReaderType::Pointer reader = ReaderType::New(); 28 reader>SetFileName("BrainProtonDensitySlice.png"); 29 30 FilterType::Pointer filter = FilterType::New(); 31 //输入图像可以从另一个滤波器的输出得到。这里,源于一个图像 reader 来得到: 32 filter>SetInput( reader>GetOutput() ); 33 //最后,通过调用 Update( ) 方式来执行滤波器: 34 filter>Update(); 35 36 37 typedef unsigned char WritePixelType; 38 typedef itk::Image< WritePixelType, 2 > WriteImageType; 39 typedef itk::RescaleIntensityImageFilter< 40 OutputImageType, WriteImageType > RescaleFilterType; 41 42 RescaleFilterType::Pointer rescaler = RescaleFilterType::New(); 43 44 rescaler>SetOutputMinimum( 0 ); 45 rescaler>SetOutputMaximum( 255 ); 46 47 typedef itk::ImageFileWriter< WriteImageType > WriterType; 48 WriterType::Pointer writer = WriterType::New(); 49 writer>SetFileName("GradientMagnitude_out.png"); 50 //如果这个滤波器的输出已经连接到流水线中的其他滤波器,更新任何下游的滤波器将同 51 //样触发这个滤波器的一个更新。例如,梯度强度滤波器可能连接到一个图像 writer 52 rescaler>SetInput( filter>GetOutput() ); 53 writer>SetInput( rescaler>GetOutput() ); 54 writer>Update(); 55 56 return EXIT_SUCCESS; 57 }

输入图像

梯度强度图

  上图阐述了梯度强度滤波器对一个 MRI 脑部图像切片作用的效果。这个图片展示了这个滤波器对噪声数据的灵敏性(即对噪声灵敏)。由于梯度强度图像的动态范围往往比输入图像的动态范围要小,所以必须注意选择用来表达输出图像的图像类型。通常,这个规则会产生异常,例如,合成图像包含高对比对象。这个滤波器在计算梯度前不会对图像进行任何滤波。因此这个结果对噪声非常敏感,而且并不一定是尺度空间分析的最佳选择。



上一篇:ITK 实例7 MHA格式文件进行带滤波三维的梯度强度提取
下一篇:ITK 实例8 孤立连接算法对脑部PNG图像进行二维分割
ITK
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素