首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用DCMTK 3.6.1加载dicom图像

如何使用DCMTK 3.6.1加载dicom图像
EN

Stack Overflow用户
提问于 2017-01-16 12:45:30
回答 1查看 3K关注 0票数 1

我正在尝试使用DCMTK和文档中提供的示例代码加载一个单色dicom图像文件

http://support.dcmtk.org/docs/mod_dcmimgle.html

我尝试编译的文件是dcmtest.cxx,其中包含以下代码:

代码语言:javascript
复制
#include "dcmtk/dcmimgle/dcmimage.h"
#include "dcmtk/dcmimgle/dipixel.h"
#include "dcmtk/dcmimgle/diimage.h"
#include "dcmtk/dcmimgle/dimo1img.h"
#include "dcmtk/dcmimgle/dimo2img.h"
#include <iostream>
using namespace std;

int main()
{

    DicomImage *image = new DicomImage("test.dcm");
    if (image != NULL)
    {
      if (image->getStatus() == EIS_Normal)
      {
        if (image->isMonochrome())
        {
          image->setMinMaxWindow();
          Uint8 *pixelData = (Uint8 *)(image->getOutputData(8 /* bits */));
          if (pixelData != NULL)
          {
            /* do something useful with the pixel data */
          }
        }
      } else
        cerr << "Error: cannot load DICOM image (" << DicomImage::getString(image->getStatus()) << ")" << endl;
    }

    delete image;
}

我正在尝试使用以下命令编译代码:

代码语言:javascript
复制
g++ dcmtest.cxx -DHAVE_CONFIG_H -I$HOME/dcmtk361_std/include -L$HOME/dcmtk361_std/lib -pthread -ldcmdata -lz -loflog -lofstd -o main

我是从

How to use Dcmtk in Qt?

然而,我得到了一个错误

代码语言:javascript
复制
/tmp/cchsrh2D.o: In function `main':
dcmtest.cxx:(.text+0x31): undefined reference to `DicomImage::DicomImage(char const*, unsigned long, unsigned long, unsigned long)'
dcmtest.cxx:(.text+0xaf): undefined reference to `DicomImage::getString(EI_Status)'
/tmp/cchsrh2D.o: In function `DicomImage::setMinMaxWindow(int)':
dcmtest.cxx:(.text._ZN10DicomImage15setMinMaxWindowEi[_ZN10DicomImage15setMinMaxWindowEi]+0x6b): undefined reference to `DiMonoImage::setMinMaxWindow(int)'
collect2: error: ld returned 1 exit status

我试图包含库的任何相关部分,但无法解决该问题。我正在运行Ubuntu16.04,并从http://dicom.offis.de/dcmtk.php.en的最新快照下载了DCMTK

你知道是什么导致了编译问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-16 17:54:33

正如kritzel_sw已经写过的:当您从dcmimgle module使用DicomImage类时,您还必须将dcmimgle库添加到链接器调用中。顺便说一下,在示例程序中包含" DCMTK /dcmimgle/dcmimage.h“头文件就足够了,也就是说,不需要其他的DCMTK头文件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41669590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档