how to proceed to find specific pixel value range (suppose 1000 to 1500) in a 512x512 16 uint DICOM image and color this range with yellow or any color ?

2 个评论

Have you tried with dicom read?
Note that in the case of CT you need to account for the RescaleSlope and RescaleIntercept DICOM attributes to scale the data to HU. If you want to do that, you will need to use either the double data type, or int16 to account for negative values.

请先登录,再进行评论。

 采纳的回答

img = dicomread(FileName);
mask = 1000 <= img & img <= 1500;
R = img; R(mask) = 0; %yellow is 0, max, max
G = img; G(mask) = intmax(class(img));
B = img; B(mask) = intmax(class(img));
RGB = cat(3, R, G, B);
image(RGB)

更多回答(1 个)

clc
clear all;
close all;
your_dcm=dcmread('dcm/root');
ms=your_dcm>=a&your_dcm>=b;
rl=your_dcm;
fhol=find(ms==1);
rl(fhol)=0;
RGB_IMAGE(:,:,1)=rl;
RGB(:,:,2)=your_dcm;
RGB(:,:,3)=your_dcm;

类别

帮助中心File Exchange 中查找有关 DICOM Format 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by