Код, приведенный в документации MATLAB для функции возврата ошибок монтажа - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь отобразить монтаж изображений в MATLAB, где каждое изображение представляет собой массив N x M, а K изображений хранятся в виде массива N x M x K.

MATLAB возвращает ошибки:

Error using images.internal.imageDisplayValidateParams>validateCData (line 115)
Multi-plane image inputs must be RGB images of size MxNx3.

Error in images.internal.imageDisplayValidateParams (line 27)
common_args.CData = validateCData(common_args.CData,image_type);

Error in images.internal.imageDisplayParseInputs (line 78)
common_args = images.internal.imageDisplayValidateParams(common_args);

Error in imshow (line 240)
      images.internal.imageDisplayParseInputs({'Parent','Border','Reduce'},preparsed_varargin{:});

Error in montage (line 152)
    hh = imshow(bigImage, displayRange,parentArgs{:});

Эти точные ошибки сохраняются, когда я копирую и вставляю код, предоставляющий документацию MATLAB для функции монтажа , включенную здесь:

img1 = imread('AT3_1m4_01.tif');
img2 = imread('AT3_1m4_02.tif');
img3 = imread('AT3_1m4_03.tif');
img4 = imread('AT3_1m4_04.tif');
multi = cat(3,img1,img2,img3,img4);

montage(multi);

Предполагается, что этот код создает монтаж из массива N x M x K таким же образом, как и исходный код, который я устраняю, и не удается таким же образом.

Кто-нибудь еще получает эти ошибки из этого кода? Может кто-нибудь сказать мне, как настроить этот код для получения монтажа изображений, как показано в примере документации?

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Документация гласит:

. Монтаж (I) отображает все кадры массива многокадровых изображений I. Массив многокадровых изображений может быть последовательностью двоичных изображений, изображений в градациях серого или изображений истинного цвета.Последовательность двоичного или полутонового изображения должна быть массивом M-by-N-by-K или M-by-N-by-1-by-K.Последовательность изображений в истинном цвете должна быть массивом M-by-N-by-3-by-K.

, однако M-by-N-by-K, похоже, не работает.Но M-by-N-by-1-by-K делает.

Поэтому

multi = cat(4,img1,img2,img3,img4);
0 голосов
/ 25 апреля 2018

Я предполагаю, что это ошибка версии.Вы используете Matlab 2018a?Это версия, для которой предназначена документация.Я хотел бы предположить, что более старая версия Matlab использовала другой интерфейс.

Я бы попробовал набрать

help montage 

в вашем Matlab.Возможно, есть некоторые дополнительные советы там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...