医学影像处理
文章平均质量分 94
Skyline_98
积跬步,至千里。
展开
-
OpenCV:拉普拉斯金字塔+Gabor方向滤波器原理及实现
一、拉普拉斯金字塔1.1 原理 拉普拉斯金字塔将图像分解为低频分量和多个不同尺度的高频带通分量。使用拉普拉斯金字塔可以提取到图像不同尺度的空间频率特征。 拉普拉斯金字塔滤波器组首先将图像下采样,从而获取该尺度的低频分量。然后,将下采样后的图像插值进行上采样,将插值后的图像与原图像做差,得到的便是原图像尺度下的高频残差,也就是高频分量。对于低频分量不断地迭代这一过程,从而得到不同尺度的高频分量(原创 2020-12-23 19:57:26 · 3591 阅读 · 3 评论 -
特征提取——灰度共生矩阵(GLCM)
一、 定义 由于灰度图的纹理是由不同灰度值在空间位置上以某种模式反复出现而形成的,因而在图像空间中相隔某距离的两像素之间会存在一定的灰度关系,即图像中灰度值存在空间相关性。灰度共生矩阵正是利用这一原理,通过计算图像灰度的空间相关性来描述纹理特征。灰度共生矩阵是图像不同灰度值在特定角度、特定距离上之间的相关性函数,反映了图像纹理的二维统计特征。二、 构建灰度共生矩阵 灰度共生矩阵是一个N*N的方原创 2020-12-16 20:22:39 · 6817 阅读 · 0 评论 -
FCM-模糊C均值聚类算法简介及C++实现代码
模糊C均值聚类(FCM)算法是基于模糊理论的一种软聚类算法。相对于K-Means算法的硬聚类,FCM提供了更加灵活的聚类结果。在很多情况下,数据集中的对象不能划分成为明显分离的簇,这时使用K-Means为每一个对象指定一个特定的簇,就可能出现问题。FCM定义了隶属度的概念,用于衡量某个对象对各个簇的隶属程度。因此,在模糊的数据集中使用FCM算法可以得到更好的结果。一、算法流程图:二、关键步骤的计算聚类损失函数: &原创 2020-12-03 17:24:55 · 3927 阅读 · 0 评论 -
ITK/VTK:绘制二维及三维DICOM图像分布直方图(附源码)
使用ITK及VTK读取DICOM图像序列,并绘制图像统计直方图。 注意事项及实现思路: 1. 必须使用ITK读取DCM序列,使用VTK读取数据会产生失真,详见使用VTK和Matlab读取DICOM图像数据失真问题; 2. 使用ITK读取数据后,将统计结果存入一维数组中,使用VTK的vt原创 2020-12-02 20:02:22 · 1979 阅读 · 2 评论 -
使用VTK和Matlab读取DICOM图像数据失真问题
最近在处理DICOM数据时,发现使用VTK的vtkDICOMImageReader类以及使用Matlab的dicomread函数读取到的Dicom图像存在像素值失真的问题,即使用上述两种方式读取到的图像像素值与使用RadiAnt DICOM Viewer、MicroDicom等软件中显示的亮度值不同。 经过对比发现,使用上述两种方式都将图像的像素值范围进行了压缩,但并不是等比例的缩放,所以很难从压原创 2020-12-01 15:32:58 · 1283 阅读 · 3 评论 -
ITK图像itk::Image指针参数传递失败
最近,在使用ITK进行医学影像处理时,遇到了itk::Image<PixelType, Dimension>类型的指针作为参数传递失败的问题,问题详情及解决方案如下。错误代码如下: using ImageType = itk::Image<PixelType, Dimension>; ImageType* fun(ImageType* image){ ....... } //函数调用时 ImageType*原创 2020-11-18 15:06:15 · 535 阅读 · 0 评论 -
使用ITK读写DICOM序列
版本:ITK 5.1.1关键类:itk::ImageSeriesReader 用于读取图像序列;itk::ImageSeriesWriter 用于写入图像序列;itk::GDCMSeriesFileNames 用于读取序列文件名;itk::NumericSeriesFileNames 支持按照特定格原创 2020-11-18 11:04:00 · 2564 阅读 · 5 评论 -
ITK(InsightToolkit)简介
一、ITK简介 ITK是The Insight Segmentation and Registration Toolkit的简称,它是在美国国家图书馆的资助下开发的用来分析The Visible Human Project中图像算法的开源项目。这个Toolkit提供在了1D、2D、3D图像分析中最前沿的分割与配准算法,主要用于医学影像处理。 ITK是开源并且跨平台的,使用CMake管理配置过程,它原创 2020-11-17 17:03:13 · 3829 阅读 · 0 评论 -
dicom图像处理:使用Matlab裁剪并输出选定区域的CT图像
1、主要函数简介:dicomread(filepath):matlab自带的读取dicom文件的库函数,filepath是待读取文件的路径;dicomwrite(image,filepath):matlab自带的dicom写入函数,image是存储图像像素值的二维矩阵,filepath是待写入文件的路径;dicominfo(filepath):matlab自带的读取指定路径dicom文件头信息的函数;imrect:创建可变形矩形,在已显示的图像中选中矩形区域,双击左键确认;wa原创 2020-10-25 11:18:37 · 2348 阅读 · 3 评论 -
VTK 9.0.1安装并将VTK导入自建工程
一、VTK 9.0.1的安装1、使用CMake生成VTK.sln 首先,目前VTK-9.0.1版本还没有下载VTK-9.0.1.tar.gz、VTKData-9.0.1.tar.gz和VTKLargeData-9.0.1.tar.gz。下载点我! 下载完成后,需要解析.gz文件和.tar文件,我使用的是解压软件7z,解压两次就好了。 解压完成后,打开CMake,将Source Code的路径设置原创 2020-10-21 21:34:23 · 2838 阅读 · 5 评论 -
DICOM三维重建:基于VTK实现三种面绘制算法
版本:VS2019、VTK9.0.1#define vtkRenderingCore_AUTOINIT 3(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingOpenGL2)#define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL2)#include "vtkDICOMImageReader.h"#include "vtkRenderWindowInteractor.h"#i原创 2020-10-21 17:34:32 · 5263 阅读 · 23 评论 -
DICOM图像的三维重建算法——面绘制算法和体绘制算法
对医学影像进行三维重建最常用的算法有两类:一类是基于构建物体表面的面绘制算法;一类是直接绘制物体三维体素的体绘制算法。本文通过两种最常用的算法,总结面绘制和体绘制的基本思想。1、 基于面绘制的Marching Cubes算法 面绘制算法的基本原理:在医学影像中,物体的表面实际上是一个闭合的灰度等值面,其灰度值称为阀值,在该等值面内部,所有体素的灰度值都大于这个阀值,在等值面外部,所有体素的灰度值原创 2020-10-21 15:20:03 · 12218 阅读 · 0 评论 -
windows编译VTK的INSTALL时 error MSB3073: 命令“setlocal.... “
这是因为在cmake的时候指定的安装目录是C盘,需要管理员权限,所以有两种解决方法:以管理员权限打开VS,打开VTK.sln,重新编译INSTALL项目。在cmake时选择安装在其他盘。...原创 2020-10-21 08:29:06 · 1379 阅读 · 0 评论 -
VTK设置Actor颜色无效的问题
在使用VTK重建三维模型时,直接设置Actor的颜色无效,模型颜色一直是蓝色。my_actor->GetProperty()->SetDiffuseColor(1.0, 1.0, 1.0); 需要关闭Mapper的ScalarVisibility,颜色设置才能生效,ScalarVisibility模式的含义是用标量来决定Mapper的颜色。my_Mapper->Scalar原创 2020-10-20 21:16:19 · 1932 阅读 · 0 评论 -
DCM(DICOM)医学影像文件格式详解
1、 什么是DICOM? DICOM(DigitalImaging andCommunications inMedicine)是指医疗数字影像传输协定,是用于医学影像处理、储存、打印、传输的一组通用的标准协定。它包含了文件格式的定义以及网络通信协议。DICOM是以TCP/IP为基础的应用协定,并以TCP/IP联系各个系统。两个能接受DICOM格式的医疗仪器间,可通过DICOM格式的文件,来接收与交换影像及病人资料。 &nbs原创 2020-10-14 22:23:28 · 38799 阅读 · 3 评论