내가 내 기본 행렬 계산과 MATLAB에서 에피 폴라 라인 심각한 문제가 교차하지 않습니다. 당신이 볼 수 있듯이, 점과 선 사이의 변화가 어떻게 든이 Matlab issueMATLAB : 에피 폴라 선은 점 (기본 매트릭스)
: 현재 결과 사진을 볼 수 있습니다. 두 이미지 사이에서 검출보다는 수동으로 선택한 점 또한 MATLAB 함수 (epipolarline)와 : 난 다음 코드보다 다른 방법을 시도하는 것이 정확해야한다. 또한 수동으로 기본 행렬을 계산 (F_8 = 전치 (INV (M_B)) * 성 *의 INV (M_A);)하지만 아무것도 변경하지 않았다.
그것은 해당 이미지 포인트 권리를 포함하지 에피 폴라 라인 어쨌든 연결되지해야합니까? 빠른 모양을하고 나를 도울 수 있다면 정말 감사 할 것입니다. 여기 내 코드는 다음과 같습니다.
% 8 point algorithm %
points_A = detectHarrisFeatures(rgb2gray(imgA));
points_B = detectHarrisFeatures(rgb2gray(imgB));
[featuresA, valid_pointsA] = extractFeatures(rgb2gray(imgA), points_A);
[featuresB, valid_pointsB] = extractFeatures(rgb2gray(imgB), points_B);
indexes = matchFeatures(featuresA,featuresB, 'MaxRatio', 0.65);
matchedPointsA = valid_pointsA(indexes(:, 1), :);
matchedPointsB = valid_pointsB(indexes(:, 2), :);
F_8 = estimateFundamentalMatrix(matchedPointsA, matchedPointsB,'Method','Norm8Point');
% Epipolar lines %
figure()
imgB = imread('asanB.jpg');
imshow(imgB);
hold on;
for i = 1:size(image_points_B,1)
line = F_8'*[matchedPointsB.Location(i,:),1]';
points_x = [0,size(imgB,2)];
points_y = [(-points_x(1)*line(1)-line(3))/line(2)...
(-points_x(2)*line(1)-line(3))/line(2)];
plot(matchedPointsB.Location(i,1),matchedPointsB.Location(i,2),'r.','MarkerSize',20)
plot(points_x,points_y);
end;
hold off