gpuArray/imresize Input array has too many elements
조회 수: 9 (최근 30일)
이전 댓글 표시
I am doing alot of image processing and to speed things up I am using my GPU to help with that
I got an error and I couldn't find help for it anywhere so I decided to ask a question
I made a gpuArray of size 250x250x3x1000 (these are concatenated images so 4D Array) or larger and I tried running imresize on it.
I was following the advice of "Joss Knight" who I have seen answering many questions on GPU related processing and it helped me greatly to speed up my computation.
I was wondering what reason is there that I am getting this error and is there a solution or a workaround for it?
Thank you very much.
Edit:
I just found something.
Dim= cat(4,ImageGroupContainer{ : } ));
So I use cat and when I call size(Dim), I get 273, 273, 3, 1095
and I call numel on it, it gives "244827765"
can't use gpuArray/imresize with it
?
댓글 수: 3
채택된 답변
Joss Knight
2021년 1월 8일
편집: Joss Knight
2021년 1월 8일
There is a size limitation for gpuArray/imresize of <= 2^27 elements which is only documented in help text.
>> help gpuArray/imresize
imresize Resize image.
B = imresize(A,SCALE)
B = imresize(A,SCALE,METHOD)
B = imresize(A,[NUMROWS NUMCOLS])
B = imresize(A,[NUMROWS NUMCOLS],METHOD)
B = imresize(...,PARAM1,VAL1,PARAM2,VAL2,...)
The input A must have at most 2^27 elements and be non-sparse.
Categorical and indexed images are not supported.
For bicubic interpolation, the output image can have some
values slightly outside the range of pixel values in the input
image.
Sorry about this - the documentation will be updated.
To work around this, simply divide your images up into multiple smaller batches.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!