ITK读取图片的问题,是从示例程序里面找出来的,只是修改了一点点而已,结果就出错了,求分析!

yingzijuntuan 2013-07-22 09:52:22
代码如下:
#include "itkImage.h"
#include "itkImageFileReader.h"
int main( int , char * argv[])
{
typedef double PixelType;
const unsigned int Dimension = 2;
typedef itk::Image< PixelType, Dimension > ImageType;

typedef itk::ImageFileReader< ImageType > ReaderType;

ReaderType::Pointer reader = ReaderType::New();

char * filename ="D:\\Program Files (x86)\\ITK\HelloWorldBin\\Debug\\1.jpg";
std::cout<<filename<<std::endl ;
reader->SetFileName( filename );

reader->Update();
ImageType::Pointer image = reader->GetOutput();
return 0;
}

求分析错在哪里!
...全文
671 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruitear 2015-10-08
  • 打赏
  • 举报
回复
楼上这个问题怎么解决的啊?同求。。
qq_21754145 2015-07-01
  • 打赏
  • 举报
回复
请问这个问题是怎么解决的呀???
qq_21100855 2015-02-01
  • 打赏
  • 举报
回复
@xiaolintyd

引用 7 楼 xiaolintyd 的回复:


我有同样的错啊,编译成功,运行出错显示不了图片啊,什么原因啊??跪求解释。。。
ScarTiger 2014-11-15
  • 打赏
  • 举报
回复
ScarTiger 2014-11-15
  • 打赏
  • 举报
回复
那个路径应该怎么写啊?我也是一样的问题啊。。纠结了好长时间都都没有解决啊。。
ri_aje 2013-07-23
  • 打赏
  • 举报
回复
引用 4 楼 yingzijuntuan 的回复:
[quote=引用 3 楼 ri_aje 的回复:] 没用过 vtk/itk 合作,下面是猜的,试试

viewer->SetInputConnection(connector->GetOutput()); 或
viewer->SetInputConnection(connector->GetOutputPort());
不行呀,SetInputConnection里面的参数是“vtkAlgorithmOutput *”,而connector->GetOutput()是“vtkImageData *”类型,而GetOutputPort这个函数直接就不是类成员。。。。[/quote] 那就不知道了,我本来也是猜的,vtk/itk 的文档反正是不咋样,大部分情况下,我要是不明白,就直接到源码里面刨。另外,你有没有试过 itk::JPEGImageIO 这个类?看名字好像更适合 jpg 的 io.
yingzijuntuan 2013-07-23
  • 打赏
  • 举报
回复
引用 3 楼 ri_aje 的回复:
没用过 vtk/itk 合作,下面是猜的,试试

viewer->SetInputConnection(connector->GetOutput()); 或
viewer->SetInputConnection(connector->GetOutputPort());
不行呀,SetInputConnection里面的参数是“vtkAlgorithmOutput *”,而connector->GetOutput()是“vtkImageData *”类型,而GetOutputPort这个函数直接就不是类成员。。。。
ri_aje 2013-07-23
  • 打赏
  • 举报
回复
没用过 vtk/itk 合作,下面是猜的,试试

viewer->SetInputConnection(connector->GetOutput()); 或
viewer->SetInputConnection(connector->GetOutputPort());
ri_aje 2013-07-23
  • 打赏
  • 举报
回复
修改了那一点点?出的什么错误,编译错误,运行错误?
yingzijuntuan 2013-07-23
  • 打赏
  • 举报
回复
引用 1 楼 ri_aje 的回复:
修改了那一点点?出的什么错误,编译错误,运行错误?

我已经知道错误在哪里了,就是路径那里给写错了,
对了,还有个问题,就是在VTK&ITK混合编程的时候,实现一个很简单的功能,读入一张图片,然后显示它,代码如下:
#include "itkImage.h"
#include "itkImageFileReader.h"
#include "itkImageToVTKImageFilter.h"

#include "vtkImageViewer.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkImageActor.h"
#include "vtkRenderer.h"
#include "vtkRenderWindow.h"

int main()
{
typedef unsigned char PixelType ;
const unsigned int Dimension = 3;

typedef itk::Image<PixelType,Dimension> ImageType ;
typedef itk::ImageFileReader<ImageType> ReaderType ;
ReaderType::Pointer reader = ReaderType::New();
const char * filename = "D:\\Program Files (x86)\\ITK\\HelloWorldBin\\1.jpg";
reader->SetFileName(filename);
reader->Update();
ImageType::Pointer image = reader->GetOutput();
//为了帮助大家理解诶程序的功能,下面代码用于将图像通过VTK显示出来
typedef itk::ImageToVTKImageFilter<ImageType> ConnectorType ;
ConnectorType::Pointer connector = ConnectorType::New();
connector->SetInput(image);

vtkImageActor * actor = vtkImageActor::New();
vtkRenderer * ren = vtkRenderer::New();
ren->AddActor(actor);

vtkRenderWindow *renWin = vtkRenderWindow::New();
renWin->AddRenderer(ren);

vtkImageViewer * viewer = vtkImageViewer::New();
vtkRenderWindowInteractor * iren = vtkRenderWindowInteractor::New();
iren->SetRenderWindow(renWin);

viewer->SetInput(connector->GetOutput());
viewer->SetupInteractor(iren);
viewer->SetColorWindow(255);
viewer->Render();
iren->Initialize();
iren->Start();

return 0 ;
}

运行的结果图如下:

图片根本就没有显示出来呀,求解释!!

65,202

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧