Why "Attempt to grow array along ambiguous dimension." only for some images?
Show older comments
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 Comment
Siegmund Nuyts
on 11 Mar 2022
Answers (2)
Walter Roberson
on 11 Mar 2022
0 votes
In arrays, the X coordinate is the second coordinate, not the first.
2 Comments
Siegmund Nuyts
on 11 Mar 2022
Walter Roberson
on 12 Mar 2022
How are you building X and Y for the inpoly test ?
yanqi liu
on 12 Mar 2022
0 votes
yes,sir,may be check
size(Iplan)
if is 2 dimension,may be can not use Iplan(:,:,3)
Categories
Find more on Image Arithmetic in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!