Я хотел исправить пару стереоизображений, исходящую из двух разных модальностей (визуальных и термических). Я откалиброван обе камеры с помощьюУстранение изображений разных размеров
[cameraParams,imagesUsed,estimationErrors] = estimateCameraParameters(imagePoints,worldPoints);
дает мне объект stereoParameter, поскольку imagePoints содержит соответствующие пункты в шахматном порядке для обоих методов.
Чтобы исправить, я использовал следующий вызов:
[J1,J2] = rectifyStereoImages(I1,I2, cameraParamsStereo);
, где I1
представляет собой визуальный образ и I2
тепловой один. К сожалению, это дает мне ошибку:
Error using rectifyStereoImages>parseInputs (line 106) Inputs must be of the same size and data types.
Error in rectifyStereoImages (line 96) [I1, I2, interp, outputView, fillValues] = parseInputs(...
Решения обоих изображений совершенно разные (2048x1088 для визуального, 384x288 для тепловых). Однако, с моей стороны, исправление в принципе должно по-прежнему работать, поскольку это делается аналогично в бумаге this. Честно говоря, однако, я не знаю, как ...
Вопрос: Есть ли способ в MATLAB, чтобы исправить изображения различных размеров? Если нет, существует ли алгоритм, который может быть легко реализован?
Вы пытались сделать свой тепловой образ того же размера, что и оптический? добавьте пустую строку и столбцы вправо и снизу. – gregswiss
@gregswiss: С пустым, я полагаю, вы имеете в виду нулевые значения. Я попробовал это сейчас, но это дает мне еще одну ошибку: «Индекс превышает размеры матрицы» в «Ошибка в видении. Внутренняя.калибровка. КамерыПараметрыImpl/getValidBounds (строка 860)« – user1809923