文章目录
- 0 前言
- 可能的错误
- 代码下载
- 开源的dicom文件下载
- 5 教程
0 前言
使用c++
做医学图像的处理任务,离不开dcmtk
这个库,包括itk-snap
在内的众多开源软件都使用该库进行开发,如果你还为使用什么库而纠结,建议直接使用dcmtk开整,肯定不会让你失望的。
为什么使用visual studio?
首先我们下载的是dcmtk库的源代码,需要在我们自己的机器 上将dcmtk 编译为我们所需要的动态库,因此需要visual studio做这个工作。当编译生成好了我们所需要的dcmtk头文件以及库文件之后,其实可以使用其他的ide比如qt
、Clion
来进行下一步的开发,不过在本文安装好环境之后,仍然使用visual studio来进行代码验证。
PS: vs2017以及vs2019均可进行下载。
如何安装?
bilibili已经有很好 的视频教程了。不过视频教程有一些瑕疵,建议读者打开该视频,一步步操作,同时,在每一步的操作过程中,查看本文所描述的操作成功后会显示的结果,决定是否进行下一步,或者在本步骤debug。
C+±CMake-Dcmtk视频环境配置教程
其他一些可参考资料,实在觉得本文无法满足需求,可以查看
不错的vs2017环境配置教程
Tips:1.在看视频过程中,先整体浏览一遍,有一些视频讲错了,回退了一下操作。这些地方要注意。2.视频版不好回退,建议使用文字版
1 下载dcmtk源代码
我最终下载的支持库文件名字为dcmtk-3.6.6-win64-support-MD-iconv-msvc-15.8.zip
1.2 下载文件时不同参数的比较
首先选择MD
或者MDd
的,因为动态库是潮流,mt是构建静态库,代码会很大。
关于字符集
,选择icu64是很庞大繁琐的库,libiconv可以轻松用于windows。
字符集比较
dcmtk在windows安装,开篇提到了md和mt的区别
2 CMake构建
注意:CMake版本一定一定要小于3.19.0
,建议选择3.14.3,如果你的版本很新,去卸载重装!不会超过15分钟的。
3.14下载链接
点两次configure,一次generate。
2.1 configure(10分钟)
跟随视频教程
可能的错误(没有可不看)
在cmakelists.txt
中把最低要求的CMake版本修改了一下,没有红色错误了。
可能是代码中设置的最低版本是2.8.12,太旧了。只是一个警告,不影响运行。具体内容看:https://cmake.org/cmake/help/latest/release/3.19.html#deprecated-and-removed-features
2.2 第二次configure
结果如下:
其中写的很多标准库用不了,正常现象,这是dcmtk提供的。我们不用它的库,使用编译器自带的STL即可。
2.3 generate
跟随视频教程
可能的错误(没有就不用看)
cmake_policy(SET CMP0115 OLD)
没有用。
使用下载3.20版本,安装3.14版本,成功解决问题。!15分钟内解决。
3 VS生成dcmtk的头文件和库
生成过程很长,半小时以上。我的台式机都用了很长时间。
总共有97(不同版本不一样,图片显示204)个项目,要编译链接97次,任何一次错了都不行。正确结果如下(如果之前CMake中出现红色错误,这一步肯定不会成功!
):
可能的错误
都是一模一样的错误,是因为使用了较新的CMake版本的原因。CMake不应该出现任何一行红色。
4 验证安装效果
使用vs打开工程,进行一些配置,如下是省得手打的部分配置,可以直接复制进去。
注意:当你给自己的代码工程配置库文件以及头文件路径的时候,一定要注意是debug还是release文件,如果配置错了,你就会看到找不到dcmtk的头文件的错误!
也就是下面那里要注意:
代码下载
如果你是vs2019,可以直接点击github链接(里面包含了需要的dicom文件以及代码),下载并双击sln文件,注意要把我工程中的库文件和头文件目录修改为你的!
运行结果如下则正确!
开源的dicom文件下载
5 教程
本人正确编写dicom教程,欢迎同好一起交流。强烈建议一起参与github仓库。
或者你也可以关注我的微信公众号:三丰杂货铺