Image lengthening of 'rectifyStereoImages' function application results

조회 수: 3 (최근 30일)
Hi. I apply 'rectifyStereoImages' function for rectify stereo image. But results are littlebit weird.
[J1, J2] = rectifyStereoImages(I1, I2, stereoParams, 'OutputView', 'full');
I ran just this code.
I1, I2`s size : 2592x1944, but J1, J2`s size 8704x2378. It`s too long and there is no effect changing the option 'OutputView', 'full' → 'vaild' or reverse.
My stereo camera system is each camera tilts 20 degrees, -20 degrees towards the center (the optical axis draws a V shape), is it common for the output image to be longer when this function is applied?
(first row : input image, second row : output image)

채택된 답변

Song-Hyun Ji
Song-Hyun Ji 2023년 7월 3일
편집: Song-Hyun Ji 2023년 7월 3일
I am not sure what is your 'steroParams' but they would affect the result. Here is my test code.
ld = load('wideBaselineStereo');
leftImages = imageDatastore(fullfile(toolboxdir('vision'), 'visiondata', ...
'calibration', 'wideBaseline', 'left'));
rightImages = imageDatastore(fullfile(toolboxdir('vision'), 'visiondata', ...
'calibration', 'wideBaseline', 'right'));
[imagePoints, boardSize] = detectCheckerboardPoints(leftImages.Files, rightImages.Files);
squareSizeInMillimeters = 29;
worldPoints = generateCheckerboardPoints(boardSize, squareSizeInMillimeters);
stereoParams = estimateStereoBaseline(imagePoints, worldPoints, ...
ld.intrinsics1, ld.intrinsics2);
figure; showReprojectionErrors(stereoParams)
I1 = readimage(leftImages, 1);
I2 = readimage(rightImages, 1);
[J1,J2] = rectifyStereoImages(I1,I2,stereoParams,'OutputView','full');
imshow(J1);
  댓글 수: 6
JONGHAK LEE
JONGHAK LEE 2023년 7월 5일
편집: JONGHAK LEE 2023년 7월 5일
Hi, Ji. Thanks for your code and I`m pleased that it is helpful for research.
It works in my environment and for the test, I tried to proceed by replacing only input I1, I2 with another images. Even though I just replaced input images, result is similar to the result of I answered earlier, and also It seems similar to the result of 'Failed' in the example you presented.
close all;
I1 = imread('mouse3_left.jpg');
I2 = imread('mouse3_right.jpg');
A = stereoAnaglyph(I1,I2);
figure;
tiledlayout(3,2)
nexttile([1 2]);
imshow(A)
title('Red-Cyan composite view of the rectified stereo pair image')
J1 = im2gray(I1);
J2 = im2gray(I2);
disparityRange = [0 48];
disparityMap = disparityBM(J1,J2,'DisparityRange',disparityRange,'UniquenessThreshold',20);
nexttile
imshow(disparityMap,disparityRange)
title('Disparity Map BM')
colormap jet
colorbar
disparityRange = [0 48];
disparityMap = disparitySGM(J1,J2,"DisparityRange",disparityRange,"UniquenessThreshold",20);
nexttile
imshow(disparityMap,disparityRange)
title("Disparity Map SGM")
colormap jet
colorbar
%%
I2 = imread('mouse2_left.jpg'); % changed the 2nd image to left camera
I1 = imread('mouse2_right.jpg'); % changed the 1st image to right camera
J1 = im2gray(I1);
J2 = im2gray(I2);
disparityRange = [0 48];
disparityMap = disparityBM(J1,J2,'DisparityRange',disparityRange,'UniquenessThreshold',20);
nexttile
imshow(disparityMap,disparityRange)
title('Disparity Map BM Failed')
colormap jet
colorbar
disparityRange = [0 48];
disparityMap = disparitySGM(J1,J2,"DisparityRange",disparityRange,"UniquenessThreshold",20);
nexttile
imshow(disparityMap,disparityRange)
title("Disparity Map SGM Failed")
colormap jet
colorbar
Because there is daily upload limit, I hyperlinked the images what I used 'mouse images'.
Thanks for your help.
Song-Hyun Ji
Song-Hyun Ji 2023년 7월 7일
It is necessary to rectify the input images I1 and I2. Rectification ensures that corresponding points in the stereo pair image are aligned along the same rows. To rectify the input stereo pair image, you can utilize the rectifyStereoImages function. It is important to note that the reference image must remain consistent for both rectification and disparity map computation.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Display Point Clouds에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by