Qt运行cmd命令

34 篇文章 7 订阅

参考链接:https://blog.csdn.net/cqltbe131421/article/details/59484097

功能:实现DICOM图转JPG

参考链接是通过DCMTK工具中dcmj2png.exe命令行方式,我现在要实现在QT中命令行方式转JPG功能,直接上代码

dcmj2png.exe语法:

dcmj2pnm [options] dcmfile-in [bitmap-out]
    QProcess p(this);
    p.setWorkingDirectory("./DCMTK/bin");//切换工作目录
    p.setProgram("cmd");
    QStringList argument;
    //argument<<"/c"<<"dcmj2pnm +oj +Jq +100 +Js2 D22WXAJ0 1.jpg";
    argument<<"/c"<<"dcmj2pnm +oj +Jq +100 +Js2"
           <<QString("%1").arg("D22WXAJ0")
          <<QString("%1").arg("1.jpg");
    p.setArguments(argument);
    p.start();
    p.waitForStarted(); //等待程序启动
    p.waitForFinished();//等待程序关闭
    //QString temp=QString::fromUtf8(p.readAllStandardOutput()); //程序输出信息
    qDebug()<<temp;
    p.close();

DCMTK官网帮助文档:https://support.dcmtk.org/docs/dcmj2pnm.html

DCMTK工具下载:https://download.csdn.net/download/marswap/10141747

此方法可以直接将DICOM转JPG,DICOM图中包含的信息可通过转json文件的方式读出,用到了dcm2json.exe命令,

dcm2json: Convert DICOM file and data set to JSON

语法命令:

dcm2json [options] dcmfile-in [jsonfile-out]
具体代码:
       //读取头信息
       QProcess p(this);
       p.setWorkingDirectory("./DCMTK/bin");//切换工作目录
       p.setProgram("cmd");
       QStringList argument;

       QString name=s2+"/"+QString("%1").arg(files.at(i))+".json";
       argument<<"/c"<<"dcm2json "
              <<QString("%1").arg(s1+"/"+files.at(i))
             <<QString("%1").arg(name);
       p.setArguments(argument);
       p.start();
       p.waitForStarted(); //等待程序启动
       p.waitForFinished();//等待程序关闭
       p.close();

然后通过解析json可以读取图片中相关信息,比如Patient's Name,Patient ID,Patient Date of Birth,Patient Sex等数据,根据此信息可以生成详细JPG图片或者将信息写在JPG图片上。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值