一、itk在VS2019上面的安装 和例子(HelloWorld)运行
一、Itk简介
vtk是专门用于医疗图像处理的函数库,类似opencv.
这篇博客主要是讲解安装vtk之后的例子的运行,即如何构建自己的第一个ITK例子
二、Itk安装
Itk安装参考这篇博客:
https://www.it610.com/article/5231454.htm
主要过程是:
1、vs2019安装
2、Itk的下载
3、cmake的安装
4、ITK的编译安装
三、构建自己的第一个例子:
在上面提到的那一篇博客里面,ITK已经实现了下载和安装。
下面主要给出构建自己的工程的一些简单的小技巧。
运行INSTALL之后我的安装文件夹截图:

下面我们新建一个空白的工程:

在工程建立以后,设置模式为release x64:

接下来我们配置属性表:
1、在界面左侧或者右侧有解决方案管理器

2、找到属性管理器,可以看到有四行,选择 Release | x64(这个和上面的模式是符合的)
右键,选择新建项目属性表

3、将项目属性表放在本工程文件夹的下面,确保你不会忘记在那里
4、找到该项目属性表:

图中第一项就是建立的 即ITKpropertyCanBeUsedForever
5、右键,选择 属性
6、添加库目录、头文件
VC++目录 --包含目录 中添加前面的安装文件夹,即...\itk_out\include
VC++目录 --库目录里面包含...\itk_out\lib

7、在 链接器-输入-附加依赖项里面添加 ...\itk_out\lib 里面的所有的.lib文件名

比如我的文件夹里面是这样的:

我需要把所有的.lib的文件的文件名都输入到上面那个框里面。
这里有一个小窍门:
可以按照这个链接的方法去做。
https://jingyan.baidu.com/article/f3ad7d0f51f5bf09c3345bbd.html
然后删除掉所有的不是.lib的文件。
将所有的文件名复制到那个框里面。
7、设置对.dll文件的链接
选择-调试

打开HelloWorld属性.
然后配置下面的:

在环境里面添加...\itk_out\bin的路径。
格式如图:
path=%path%;..\..\bin\ // ..\..\bin 是bin文件夹所在的路径
8\添加主函数,将下面的代码添加进去:
#include "itkImage.h"
#include <iostream>
int main()
{
using ImageType = itk::Image< unsigned short, >;
ImageType::Pointer image = ImageType::New();
std::cout << "ITK Hello World !" << std::endl;
return EXIT_SUCCESS;
}
随后生成,就可以看到下面的运行结果:

至此,大功告成。
四、以后如何使用:
难道我以后也要这么复杂的像上面那么去操作吗?
当然不是的。
在上面我们已经建立了一个属性表ITKCanBeUsedForever
在以后建立的工程里面,只需要将属性表复制到对应的工程文件夹,然后在属性管理器里面添加就好了,不需要我们再去配置。
然后重新进行第七步操作就可以了。
这样有两个优点:
1、不需要一步步去重复配置属性表了
2、即使工程发生了移动,只要还是在本电脑上面,就可以正确运行(这是针对第七步来说的)。对于第七步来说,我们当然可以去将bin文件架下面的所有的.dll文件复制到工程目录,但是很繁琐,而且占用额外的空间
也可以添加环境变量,但是不值得。
所有这样设置.dll 也算是一种不错的方式。
五、参考链接
批量提取一个文件夹的文件:https://jingyan.baidu.com/article/f3ad7d0f51f5bf09c3345bbd.html
ITK的安装:https://www.it610.com/article/5231454.htm
如果想了解为什么要这么配置,参看这个链接:https://blog.csdn.net/qq_25160757/article/details/79813428
如果问题,欢迎指正。
一、itk在VS2019上面的安装 和例子(HelloWorld)运行的更多相关文章
- Android Studio中mac上面的安装
Android Studio中mac上面的安装 学习了:https://blog.csdn.net/xianrenli38/article/details/79347170 http://www.an ...
- Git 在 windows 上面的安装
参考博客: https://blog.csdn.net/xiezhongyuan07/article/details/79411299 将该作者的文章搬过来, 大家可以直接看上面的原文章. 下面是拷贝 ...
- redis 在windows 上面的安装和使用,集群搭建
redis作为nosql数据库,将数据存储到内存中(缓存),具有非常高的性能.下面讲解一下redis的安装及java api的使用. 1:redis 安装 windows 上面直接下载msi文件,安装 ...
- caffe搭建--caffe在invidia+cpu 酷睿2Q9300 + ubuntu16.04.2上面的安装和编译过程
本文原创,转载请注明出处. ------------------------------------------------分割线-------------------------------- 概要 ...
- Redis在centos上面的安装
一.安装redis 第一步:下载redis安装包 wget http://download.redis.io/releases/redis-4.0.6.tar.gz [root@iZwz991stxd ...
- secureCRT在Windows上面的安装过程
参考这篇文章: https://www.cnblogs.com/yjd_hycf_space/p/7729796.html
- solr7.3.1在CentOS7上的安装
1 solr的下载 从Solr官方网站(http://archive.apache.org/dist/lucene/solr/7.3.1/ )下载Solr最新版本, 根据Solr的运行环境,Linux ...
- Gitlab在Centos7上的安装
一 官网说明 安装步骤:https://about.gitlab.com/install/#centos-7 安装说明:本文只是用来给微服务当配置中心,只是较浅的记录一下安装步骤,后面会详细讲解及在d ...
- 开源网络备份软件 bacula 的安装、配置和运行
安装bacula 1 bacula的几种网络备份拓扑 前面文章介绍了bacula有5个组成部分,在实际的应用中,没有必要将5个部分分别放在不同的服务器上,它们之间的某些部分是可以合并的,常见的bacu ...
随机推荐
- C#/.Net开发入门篇(3)——console类的输入输出
相信看了我上一篇文章的小伙伴们都知道console这个类的最基本的2个方法了吧,下去练习过的小伙伴应该能知道4个方法. 那么下面我们就来介绍一下上期没有介绍完的另外2个方法Console.WriteL ...
- 【转载】C#string.Formart的字符串格式化
String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项.Stri ...
- js中关于constructor与prototype的理解
1.①__proto__和constructor属性是对象所独有的:② prototype属性是函数所独有的,因为函数也是一种对象,所以函数也拥有__proto__和constructor属性. 2. ...
- golang.org 安装脚本
#!/usr/bin/env bash cd $GOPATH; #创建 $GOPATH/src/golang.org/x 目录 mkdir -p $GOPATH/src/golang.org/x; e ...
- 打通 DevOps 任督二脉 ,CODING 2.0 制品库全新上线
CODING 在近期的 KubeCon 2019 大会上发布了 CODING 2.0,同时发布了最新功能--制品库.CODING 不断完善 DevOps 工具链,旨在持续提升研发组织软件交付的速度与质 ...
- CF#603 Div2
差不多半年没打cf,还是一样的菜:不过也没什么,当时是激情,现在已是兴趣了,开心就好. A Sweet Problem 思维,公式推一下过了 B PIN Codes 队友字符串取余过了,结果今天早上一 ...
- 华为hcnp r&s考试一共有三门,R&S-IERS,R&S-IENP,R&S-IEEP
大纲1.HCNP-R&S-IEEP V2.0考试大纲 考试内容:HCNP-R&S-IEEP考试覆盖对企业网络的规划.设计.实施.维护.排障.优化以及网络割接等. 知识点: 网络规划:1 ...
- Redis学习笔记(九、Redis总结)
1.Redis五大对象: 在Redis中有五大对象,分别是String.List.Hash.Set.Sorted Set. 这五大对象都有自己独特的编码方式,每个编码的实现都不一样,有自己独特的使用场 ...
- Java之ArrayList类(集合)
集合的由来 我们想存储多个数据,选择的容器可以是数组.而数组的长度是固定的,无法适应数据变化的需求.为了解决这个问题,Java提供了另一个容器 java.util.ArrayList 集合类,让我们可 ...
- ueditor设置
1: 2: