我使用下面的代码“基于计算机断层扫描的上颌窦标准化测量工具”来测量DCOM图像中的上颌窦的体积:
% Read images
clear all
close all
[filename, pathname] = uigetfile('*','Select CT exam (all slices)','MultiSelect','on');
num= length(filename);
bbbb=1;
step=input('Step of image reading: \')
for aaaa = 1:step:num
xinfo=dicominfo([pathname,char(filename(aaaa))]);
pxsp=cat(2,xinfo.PixelSpacing);
x=dicomread([pathname,char(filename(aaaa))])+cat(2,xinfo.RescaleIntercept);
k=x;
k = im2bw(k,0.49);
k = imfill(k,'holes');
cc = bwconncomp(k);
stats = regionprops(cc,'Area');
A = [stats.Area];
[~,biggest] = max(A);
k(labelmatrix(cc)~=biggest) = 0;
x(k~=1)=-2000;
masccranio(:,:,bbbb)=k;
cranio(:,:,bbbb)=x;
cranio_full(:,:,bbbb)=x;
bbbb=bbbb+1;
end一开始,我们对开始时输入的阅读步骤一无所知,如果可以的话,请帮助我们。我们的第二个问题是,当我们运行代码时,我们得到以下错误:
Error using ~=
Matrix dimensions must agree.
Error in Quant (line 32)
k(labelmatrix(cc)~=biggest) = 0;我使用的是Matlab2019b,据我所知,这段代码适用于2013年。任何帮助都是非常感谢的。
发布于 2021-10-23 12:57:25
我希望biggest表示此行中所有区域区域中的最大值:
k(labelmatrix(cc)~=biggest) = 0;在这种情况下,您的问题很可能是A不是向量,因此biggest不是标量。这会导致操作失败,因为~=运算符仅适用于大小相同或具有标量的矩阵。
https://stackoverflow.com/questions/69655382
复制相似问题