--feature - Feature to use. Can be sift, surf of orb. Append '-flann' to feature name
to use Flann-based matcher instead bruteforce.
- Press left mouse button on a feature point to see its mathcing point.
+ Press left mouse button on a feature point to see its matching point.
'''
import numpy as np
opts, args = getopt.getopt(sys.argv[1:], '', ['feature='])
opts = dict(opts)
feature_name = opts.get('--feature', 'sift')
- try: fn1, fn2 = args
+ try:
+ fn1, fn2 = args
except:
fn1 = '../c/box.png'
fn2 = '../c/box_in_scene.png'
img1 = cv2.imread(fn1, 0)
img2 = cv2.imread(fn2, 0)
detector, matcher = init_feature(feature_name)
- if detector != None:
- print 'using', feature_name
- else:
+
+ if img1 is None:
+ print 'Failed to load fn1:', fn1
+ sys.exit(1)
+
+ if img2 is None:
+ print 'Failed to load fn2:', fn2
+ sys.exit(1)
+
+ if detector is None:
print 'unknown feature:', feature_name
sys.exit(1)
-
+
+ print 'using', feature_name
kp1, desc1 = detector.detectAndCompute(img1, None)
kp2, desc2 = detector.detectAndCompute(img2, None)