Why "Attempt to grow array along ambiguous dimension." only for some images?

2 Ansichten (letzte 30 Tage)
I am analysing images in MATLAB and the code I have is running fine for most images.
I get the error: "Attempt to grow array along ambiguous dimension." for some images.
Why is this happening? I assume that the code is correct, as it works for most images...
The code runs into the issue here:
%Extract contour
RminusBdouble = double(Iplan(:,:,1))- double(Iplan(:,:,3));
%Mask out data outside of ROI (ROI determined from transects)
ROIx = [transects.x(1,:) fliplr(transects.x(2,:))]; %Transects file determines the ROI
ROIy = [transects.y(1,:) fliplr(transects.y(2,:))]; %Transects file determines the ROI
Imask = ~inpoly([X(:) Y(:)],[ROIx',ROIy']); %use the function inpoly instead of inpolygon as it is much faster
RminusBdouble(Imask) = NaN; %Mask data
%Imask = find(RminusBdouble==0); %Also remove regions of black colour
%RminusBdouble(Imask) = NaN; %Mask data
c = contours(X,Y,RminusBdouble,[thresh thresh]);
  1 Kommentar
Siegmund Nuyts
Siegmund Nuyts am 11 Mär. 2022
The issue is resolved now.
I recalled an array with different dimensions, which caused the error.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Walter Roberson
Walter Roberson am 11 Mär. 2022
In arrays, the X coordinate is the second coordinate, not the first.
  2 Kommentare
Walter Roberson
Walter Roberson am 12 Mär. 2022
How are you building X and Y for the inpoly test ?

Melden Sie sich an, um zu kommentieren.


yanqi liu
yanqi liu am 12 Mär. 2022
yes,sir,may be check
size(Iplan)
if is 2 dimension,may be can not use Iplan(:,:,3)

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by