繁体   English   中英

错误使用 ~= 矩阵维度必须一致

[英]Error using ~= Matrix dimensions must agree

我正在使用“基于计算机断层扫描的上颌窦标准化测量的体积工具”文章的以下代码来测量 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;

我正在使用 Matlab 2019b,据我所知,此代码适用于 2013 年。感谢任何帮助。

我希望您希望biggest代表此行中所有区域的最大值:

k(labelmatrix(cc)~=biggest) = 0;

在这种情况下,您的问题很可能是A不是向量,因此biggest不是标量。 这会导致操作失败,因为~=运算符仅适用于相同大小或标量的矩阵。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM