zxyhhjs2017的博客

电脑杂谈  发布时间:2019-07-25 15:11:16  来源:网络整理

vs安装itk_vs安装平台下载_itk安装

原创 2014年07月31日 14:49:05

配置: VS2008(32-bit)

Python2.7.8(32-bit)

Cmake 3.0

ITK4.5.2

VTK 版本要求5.9及其以上

注意: 和Python结合建议使用VS2008,在VS2010中有可能编译不通过vs安装itk,博主经过多次试验发现在VS2010中总是报错。

1.1 安装VS2008

1.2 安装Cmake

1.3安装Python2.7.8

1.4 安装VTK 5.10(方法见之前的一篇博文)

请从“下载地址”中下载好软件的apk文件,然后使用pc端工具来安装已经下载好的apk文件,或者将apk文件直接放到手机中存储卡中,使用文件管理器进行安装。1.win7系统提醒dll出现错误的时候,可将错误的dll文件记录下来,到网上搜索这个dll文件进行下载. 2.安装dll文件的时候一定要选择64位系统的. 3.如果vc运行的时候dll数量非常多,所以如果要安装大量dll文件的时候就需要重新安装vc运行. 4.如果是对于单独的dll文件来说,在覆盖好文件之后,在命令提示符中使用reg命令实现对于dll的注册,在在命令提示符光标处输入"/。2.从其他xp系统的电脑中拷贝chkdsk.exe程序,或使用expand命令从系统安装盘里解压chkdsk.ex_文件, 将该程序拷贝至系统盘以外的分区,用系统安装盘引导启动至故障恢复台,运行chkdsk c: /f命令,然后重启系统,即可登录。

1.6 下载ITK源码

新建一个目录#ITK_SOUCCE#,将itk下载到该目录下并且解压到当前文件夹。例如,如果#ITK_SOUCCE#=D:\ITK_source,那么解压后ITK的源文件放在了这个目录下面:D:\ITK_source\InsightToolkit-4.5.2

1.7 新建两个文件夹

存放cmake产生的ITK项目文件#SOLUTION_PATH#

存放编译成功后的bin,lib,include等文件#BUILD_OUTPUT#

例如,我的设置是#SOLUTION_PATH#=C:\IVTK\ITK32Py_install

#BUILD_OUTPUT#=C:\IVTK\ITK32Py

where is the source code 选择#ITK_SOUCCE#/InsightToolkit-4.5.2

where to build the binaries 选择#SOLUTION_PATH#

编译器选择VS 2008

等待Configure完成。

cmake的选项中将BUILDTESTING和BUILD EXAMPLES不选。

勾选BUILD_SHARED_LIBS.

安装tortisegit,完成之后在任意路径点右键,选择tortisegit-settings,设置git.exe的路径为c:\msysgit\msysgit\binvs安装itk,即为msysgit的安装路径。2:然后把手机开机并进入手机设置-开发人员选项-usb调试勾上(勾不上的可以在设置-关于手机-版本号这一项连击七次,再返回就有了),驱动安装好了之后连接上电脑root工具会自动识别手机,如下图:。使操作更简便改进:系统文件夹设置 - 目标路径支持点击之后手动输入更改改进:系统文件夹设置 - 选择目标路径时。

勾选ITKV3_COMPATIBILITY

勾选 ITK_WRAP_PYTHON

勾选 Module_ITKVtkGlue

检查VTK_DIR是否正确,例如C:/IVTK/VTK510_32Py/lib/vtk-5.10

再次点击 Configure, 直至所有条目都变成灰色,表示配置成功, 点击Generate确认。

3.1 设置环境变量

gccxml_pah=#SOLUTION_PATH#\Wrapping\Generators\GccXML\gccxml\bin

将%gccxml_path%添加到path环境变量的末尾

3.2 编译

用VS2008打开位于#SOLUTION_PATH#下面的ITK项目文件,选择Release进行编译。

vs安装itk_itk安装_vs安装平台下载

3.3 安装

编译成功后再次编译INSTALL工程,相关的include, lib和bin文件就被提取到了#BUILD_OUTPUT#目录下。

将bin目录下的文件拷贝到gstreamer路径的bin文件夹下,将include、lib文件夹下的文件解压到gstreamer对应的include、lib路径下。在eclipse等ide工具中,用户可以自建user library,然后把spring的jar包都放入其中,当然也可以将jar包直接放在项目的/web-inf/lib目录下,但是如果使用user library,在项目发布时,需要将用户库所引用的jar文件随应用一起发布,就是将user library所使用的jar复制到/web-inf/lib目录下,这是因为对于一个web应用,eclipse部署web应用时不会将用户库的jar文件复制到/web-inf/lib下,需要手动复制。下载visual leak detector,当前版本2.4,在visual c++ ide的"工具"→"选项"→"项目和解决方案"→"vc++ 目录","包含文件"增加vld的"\include"路径,"库文件"增加vld的"\lib\win32"路径,另外动态库"\bin\win32"路径在安装时已经添加到环境变量里面了,若是未添加,则需要手动拷贝"\bin\win32"下的文件到工程debug目录。

4.2将#BUILD_OUTPUT#\lib\ITK-4.5\Python路径添加到Eclipse的PYTHONPATH中

5.1 用ITK打开并保存一副图像

[python] view plain copy

importitk

importsys

importvtk

inputfilename="D:/DATA/small/0200.dcm"

outputfilename="D:/DATA/0200.png"

#

#Readsa2Dimageinwithsignedshort(16bits/pixel)pixeltype

#andsaveitasunsignedchar(8bits/pixel)pixeltype

#

InputImageType=itk.Image.SS2

OutputImageType=itk.Image.UC2

reader=itk.ImageFileReader[InputImageType].New()

writer=itk.ImageFileWriter[OutputImageType].New()

filter=itk.RescaleIntensityImageFilter[InputImageType,OutputImageType].New()

filter.SetOutputMinimum(0)

filter.SetOutputMaximum(255)

filter.SetInput(reader.GetOutput())

writer.SetInput(filter.GetOutput())

reader.SetFileName(inputfilename)

writer.SetFileName(outputfilename)

writer.Update()

5.2 用ITK打开图像,用VTK显示

在上述代码后面添加:

[python] view plain copy

ivfilter=itk.ImageToVTKImageFilter[OutputImageType].New()

ivfilter.SetInput(filter.GetOutput())

viewer=vtk.vtkImageViewer()

iren=vtk.vtkRenderWindowInteractor()

viewer.SetupInteractor(iren)

viewer.SetInput(ivfilter.GetOutput())

vs安装itk_vs安装平台下载_itk安装

viewer.Render()

viewer.SetColorWindow(255)

viewer.SetColorLevel(128)

iren.Start()

5.3 ITK 配准的例子

[python] view plain copy

fromInsightToolkitimport*

fromsysimportargv

fixedImageName="D:/DATA/Brain.png"

movingImageName="D:/DATA/Brainshifted13x17y.png"

outputImageName="D:/DATA/Brainresult2.png"

fixedImageReader=itkImageFileReaderIF2_New()

movingImageReader=itkImageFileReaderIF2_New()

fixedImageReader.SetFileName(fixedImageName)

movingImageReader.SetFileName(movingImageName)

fixedImageReader.Update()

movingImageReader.Update()

fixedImage=fixedImageReader.GetOutput()

movingImage=movingImageReader.GetOutput()

#

#Instantiatetheclassesfortheregistrationframework

#

registration=itkImageRegistrationMethodIF2IF2_New()

imageMetric=itkMeanSquaresImageToImageMetricIF2IF2_New()

transform=itkTranslationTransformD2_New()

optimizer=itkRegularStepGradientDescentOptimizer_New()

interpolator=itkLinearInterpolateImageFunctionIF2D_New()

registration.SetOptimizer(optimizer.GetPointer())

registration.SetTransform(transform.GetPointer())

registration.SetInterpolator(interpolator.GetPointer())

registration.SetMetric(imageMetric.GetPointer())

registration.SetFixedImage(fixedImage)

registration.SetMovingImage(movingImage)

registration.SetFixedImageRegion(fixedImage.GetBufferedRegion())

transform.SetIdentity()

initialParameters=transform.GetParameters()

itk安装_vs安装平台下载_vs安装itk

registration.SetInitialTransformParameters(initialParameters)

#

#IterationObserver

#

defiterationUpdate():

currentParameter=transform.GetParameters()

print"M:%fP:%f%f"%(optimizer.GetValue(),

currentParameter.GetElement(0),

currentParameter.GetElement(1))

iterationCommand=itkPyCommand_New()


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-115690-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...