我正在使用DCMTK讀取並希望修改DICOM圖像。我有以下代碼:DicomImage的writeBMP函數產生不清晰的灰色圖像
#include <iostream>
#include <opencv\cv.h>
#include <dcmtk\dcmimgle\dcmimage.h>
int main() {
try {
DicomImage* dicomImage = new DicomImage("C:/Users/Kriselle/Documents/000004.dcm");
if ((dicomImage != NULL) && (dicomImage->isMonochrome())) {
dicomImage->writeBMP("C:/Users/Kriselle/Documents/z.bmp", 8);
std::cout << "z.bmp is created" << std::endl;
}
else {
std::cout << "dicomImage is null or not monochrome" << std::endl;
}
}
catch (cv::Exception e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
我所做的只是創造一個DicomImage和像素數據寫入與我指定,但圖像與原始圖像的輪廓只返回一個灰度圖像文件名BMP文件勉強認可。
這是它應該是什麼樣子:https://www.dropbox.com/s/6dw8nlae8hfvqf6/000004.jpg?dl=0 這是什麼代碼產生:https://www.dropbox.com/s/fff2kch124bzjqy/z.bmp?dl=0
我缺少的東西代碼還是我不明白的功能是什麼?任何人都可以請賜教嗎?非常感謝你!
哇!非常感謝你!這就是訣竅!我將不得不閱讀VOI轉換以瞭解它的工作原理。 – noobalert