[Python] OpenCV can't find ORB

Discussão em 'Python' iniciado por Stack, Janeiro 15, 2025.

  1. Stack

    Stack Membro Participativo

    In my previous question I learned that I had to install opencv-contrib in order to use OpenCV Python with external modules such as SIFT. In my project, however, I want to use ORB or something similar. cv2.ORB() does not work, nor does cv2.xfeatures2d.ORB_create() or any other agglutination of commands.

    As SO knows, OpenCV has rather poor documentation for its Python API.

    How do I use ORB to match features in OpenCV Python?

    MWE:

    #!/usr/bin/python2.7
    import numpy as np
    import cv2
    from matplotlib import pyplot as plt

    img = cv2.imread('smallburger.jpg',0)

    # Initiate STAR detector
    orb = cv2.ORB()

    # find the keypoints with ORB
    kp = orb.detect(img,None)

    # compute the descriptors with ORB
    kp, des = orb.compute(img, kp)

    # draw only keypoints location,not size and orientation
    img2 = cv2.drawKeypoints(img,kp,color=(0,255,0), flags=0)
    plt.imshow(img2),plt.show()


    CLI output:

    Traceback (most recent call last):
    File "./mwe.py", line 9, in <module>
    orb = cv2.ORB()
    AttributeError: 'module' object has no attribute 'ORB'

    Continue reading...

Compartilhe esta Página