- 博客(24)
- 资源 (3)
- 收藏
- 关注
原创 VTK实现actor和坐标轴 缩放不变
实现滚动鼠标中键(移动相机)时,保持坐标轴或者指定的actor在屏幕上看起来大小不变。效果如下:视频中,立方体和坐标轴都设置了缩放不变,而旁边的圆柱体正常缩放。vtk actor 和坐标轴缩放不变(相机距离不影响actor在屏幕上的大小)
2022-12-13 15:46:50 1919 6
原创 Windows下使用CMakeLists生成动态库/静态库
网上关于此主题的教程不少,但真正能使用的较少,windows下很多根本跑不通。本文提供一个可用demo.
2022-08-22 16:06:22 1699
原创 《水贴》关于内部含计算的结构体的赋值和初始化
含计算的结构体的问题,一时没转过来。调试过程就不说了,最终发现实际上是赋值和初始化的问题。即二者结果不一致的问题。
2022-07-28 18:17:42 103
原创 【vtk9.0与qt5.15 联合通讯】
vtk9.0与qt5.15 联合通讯此处主要为初学 vtk和qt 混合编程的童鞋提供一个实例,其主要是vtk的信号到 qt 的传递。本例为初学示例。vtk8 到vtk9vtk 之前可以通过 将 QVTKWidgetPlugin.dll 拷贝到qt的plugins/designer目录,然后在qtdesigner中直接进行可视化添加QvtkWidget。但vtk9中已无此插件,因此本处通过手写代码生成。如何通过designer拖拽添加,目前未知。实现效果
2022-05-25 17:25:25 298
原创 无法定位程序输入点的一种可能
无法定位程序输入点的问题1. 问题描述2. 一般解决方案3. 可能的隐秘错误说明:关键词:无法找到入口anacondaqtvtk1. 问题描述出现该问题的原因一般是找不到动态库,即没有导入或者拷贝动态库到程序路径。库的版本不对应,比如使用了Alpha版本的头文件(函数接口),却调用了beta版本的dll。2. 一般解决方案一般来说对于动态库没有导入,可以将bin目录加入环境变量或者拷贝到可执行文件所在文件夹。对于库版本不对应,一般重新设置动态库路径 或者 重新编译,使二者对应即
2022-05-23 20:06:19 33606
原创 vtk 自定义交互之 通过鼠标控制camera同时使用键盘控制actor
vtk 自定义交互之 通过鼠标控制camera同时使用键盘精确定量控制actor场景需求:vtk中可以使用 vtkInteractorStyleTrackballActor 交互器类来通过鼠标对单个actor的position进行调整,可以用于图像配准微调。另外,使用 vtkInteractorStyleTrackballCamera 类来通过鼠标对相机进行操作,调整观察整个vtk空间的角度。结合两者,可以实现调整观察角度和调整actor来进行某些操作,如动画,微调等。 但两者均通过鼠标来操作,不能同时
2022-02-23 21:38:48 5207
原创 ITK图像下标与物理位置的转换及内部计算
ITK图像下标与物理位置的转换及内部计算描述ITK本身提供了图像物理位置和图像下标的转换接口,即在提供了准确的必要图像信息(包括origin, spacing, direction of the image samples )之后,可以使用TransformPhysicalPointToIndex()TransformPhysicalPointToIndex()TransformPhysicalPointToIndex() ,将物理位置转换为图像下标,函数返回bool值,表明该物理点是否在图像内部。
2021-07-20 10:37:21 2444 2
原创 itk序列文件使用单个图像读取器读取后不再保持序列问题的研究
itk序列文件使用单个图像读取器读取后不再保持成一个序列的问题情形说明医学图像中,一个三维图像通常保存为一个序列二维图像,即多张2D图像。反过来,也即是一系列二维图像重建后可以形成一个三维图像,这些相互关联的二维图像我称为一个序列图像。 即1*3D = N * 2D。对于这一序列图像,其中存在一些标志信息用以标识其属于同一序列。具体情况如果使用 itkImageFileReader.hitkImageFileReader.hitkImageFileReader.h, 并为其设置一个itkG
2021-07-15 16:58:34 193
原创 修改、删除dicom图像tag信息
修改、删除dicom图像tag信息描述dicom图像文件头保存了大量患者、设备和图像等信息。如下图其中设计部分隐私信息,可能需要删除或者修改。本demo用于对
2021-07-01 15:26:22 3649
原创 QT/Qml 复制文件和文件夹
QT/qml 复制文件和文件夹说明用于QT/QML 接口的 文件和文件夹复制。特性: 保持目录结构;自动判别复制的是文件还是文件夹,目标路径必须是文件夹;可自动创建目标文件夹;部分代码源自github上的开源代码。源码/** copyDir.h*/#ifndef COPYDIR_H#define COPYDIR_H#include <QObject>#include <QFileDialog>#include <QDir>#include &l
2021-06-28 17:55:17 641
原创 ITKv4配准例子 ImageRegistration1.cxx
#include <iostream>#include "itkImageRegistrationMethodv4.h" //配准框架#include "itkTranslationTransform.h" //平移变换#include "itkMeanSquaresImageToImageMetricv4.h" //度量标准:选择为MeanSquares#include "itkRegularStepGradient
2021-05-19 15:48:13 655
原创 对三维ITK数据的连通区域进行提取并分割染色
ITK三维连通区域提取对三维ITK数据的连通区域进行提取并分割染色使用场景功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入对三维ITK数据的连通区域进行提取并分割染色使用场景在进行图像处理时,当需要分割图像中的较大连通区域时,
2021-01-25 20:53:05 2618 3
原创 二维ITK连通区域提取
ITK连通区域提取说明主要函数介绍细节分析背景色编号顺序完整代码说明本文介绍2维ITK图像连通区域的提取,对如下图所示的二维图像,进行连通区域提取,并打上不同的标签,染上不同的颜色。这里以按连通区域像素个数大小进行排序,保留前几个最大的连通区域。提取前:提取着色后...主要函数介绍itk::ConnectedComponentImageFilter<ImageType, OutputImageType>;该filter值检测连通区域,不编号,不排序。itk::Label
2021-01-07 16:18:38 1419
原创 ITK数据类型错误
ITK 数据类型转换错误错误信息:“初始化”: 无法从“itk::Concept::IsFloatingPoint::Constraints::FalseT”转换为“itk::Concept::Detail::UniqueType_bool”原因分析:在使用ITKv4配准框架进行dicom图像配追时,想直接使用配准器处理dicom图像而不是0-255的灰度图像,在参数传入时using RegistrationType = itk::ImageRegistrationMethodv4<Fix
2020-12-17 16:30:18 560
原创 ITK错误:“InsertSort”: 找不到标识符
ITK “InsertSort”: 找不到标识符 错误说明: 该函数在 itkStatisticsAlgorithm.hxx 文件中,正常情况下InsertSort函数已经在 itkStatisticsAlgorithm.h 文件中声明,应该可以找到。但是在VS中出现该错误比较奇怪。ITK 4.13中,该InsertSort函数的实现在itkStatisticsAlgorithm.hxx 中第538行,但其在533行(NthElement函数中)已经被调用。解决:修改 itkStatistics
2020-12-17 16:06:35 318
原创 dicom图像重采样后新增tag信息重建三维图像
dicom图像重采样图层增多后新增tag信息重建为三维影像使用场景描述解决方案1. 增加tag信息2. 增加输出名称的个数使用场景描述对三维dicom图像,如果想要减小像素间距,并维持图像世界坐标系下的尺寸不变,则需要对图像进行重采样,使像素间距变小为原来的1/N。此时图像的size(像素个数)应该相应的变为原图像的N倍。此时图像的层数变多,如果需要将图像保存,则需要添加新的图层tag信息,并增加对应的层数名字。解决方案1. 增加tag信息tag信息中保存了每一张图像的基本信息,这里只需要修改其中
2020-07-18 15:28:27 1017
原创 opencv 中canny边缘检测为什么用高斯平滑而不是其他?
目录canny算子,为什么使用高斯平滑而不是其他滤波器?原因:解释出处canny算子,为什么使用高斯平滑而不是其他滤波器?问题描述: canny算子的步骤中 ,平滑是使用的高斯,为什么选择是高斯??原因:高斯函数是唯一可分离的圆对称滤波器,所以大多数边缘检测算法都使用它。解释边缘一般出现在颜色,亮度,或者纹理不一样的区域。一种方式是将边缘定义为亮度变化剧烈的区域,数学上定义一个表面的...
2019-12-14 10:36:13 1682
原创 无法解析的外部符号 _gladLoadGLLoader,_glad_glViewport 该符号在函数 _main 中被引用
#无法解析的外部符号 _gladLoadGLLoader,该符号在函数 _main 中被引用解决办法在源文件中添加“glad.c"文件添加后
2019-11-19 18:33:51 4940 5
原创 GLFW安装配置
GLFW安装配置GLFW下载解压配置GLFW下载进入GLFW官网下载,windows一般下载 ,32-bit.。此处32和64指的不是本机器的位数,而是生成目标的位数。 windows pre-compiled binaries,为windows预编译版本,windows下可以直接调用,不需要下载源码进行cmake。解压下载完后解压如下整理所需文件到另一个文件夹:需要include文...
2019-11-19 14:30:25 8264 5
原创 解压zip形式安装MYSQL报错:"MYSQL 服务无法启动"的3534问题
解压zip形式安装MYSQL报错:"MYSQL 服务无法启动"的3534问题解决方法:1、环境变量PATH添加(例如:D:\Program Files (x86)\mysql-8.0.16-winx64\bin);此时解压目录下是没有data文件夹的,不要手动新建该文件夹。2.进入MYSQL的安装目录,新建一个默认配置文件my.ini。在my.ini中写入如下内容。 [mysq...
2019-04-30 13:17:20 979
原创 # failure during conversion to COFF: file invalid or corrupt和Error 82 error LNK1158: cannot run 'cvt
出现failure during conversion to COFF: file invalid or corrupt后按一种解决方案link的操作:比较系统目录:C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exeC:\Windows\Microsoft.NET\Framework64\v4.0.30319\cvtres.exe...
2018-09-29 16:16:01 239
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人