Как оптимизировать параметры ORB для регистрации изображений - PullRequest
1 голос
/ 26 марта 2020

Я пытаюсь зарегистрировать изображение МР с эталонным изображением CT. Я использую ORB на основе кода, который я скопировал и вставил онлайн, но мне не очень повезло с получением правильного сопоставления функций, как показано на рисунке ниже. Я надеюсь, что это можно исправить либо настройкой параметров ORB, либо параметрами ransa c. У кого-нибудь есть какие-нибудь указатели или советы? Было бы очень признательно

def featureMapping(img, refImg):

    # create similar contrast in CT and MR images
    img = exposure.equalize_hist(img)
    refImg = exposure.equalize_hist(refImg)

    orb = ORB(n_keypoints=1000, fast_threshold=0.01)
    orb.detect_and_extract(refImg)
    keypoints1 = orb.keypoints
    descriptors1 = orb.descriptors

    orb.detect_and_extract(img)
    keypoints2 = orb.keypoints
    descriptors2 = orb.descriptors

    matches12 = match_descriptors(descriptors1, descriptors2, cross_check=True)

    # Select keypoints from the source (image to be registered)
    # and target (reference image)
    src = keypoints2[matches12[:, 1]][:, ::-1]
    dst = keypoints1[matches12[:, 0]][:, ::-1]

    model_robust, inliers = ransac((src, dst), SimilarityTransform,
                                   min_samples=10, residual_threshold=5, max_trials=300)

    fig, ax = plt.subplots(1, 1, figsize=(30, 30))
    plot_matches(ax, refImg, img, keypoints1, keypoints2, matches12[inliers])
    #ax.axis('off')
    plt.show()

Вот график соответствия ключевых сгенерированных точек и изображений, которые я пытаюсь зарегистрировать: Изображение

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