У меня есть следующий код на python
import cv2
import numpy as np
def save_keypoints(image_path, type_image):
img = cv2.imread(image_path)
gray= cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
kp, descriptors =cv2.BRISK_create(10).detectAndCompute(gray,None)
mg=cv2.drawKeypoints(gray, kp, None,
flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
cv2.imwrite('brisk_keypoints-'+ type_image+'.jpg',mg)
if __name__=="__main__":
save_keypoints("original.bmp" ,"original")
save_keypoints("fake600.bmp" ,"fake600")
save_keypoints("fake1200.bmp" ,"fake1200")
save_keypoints("fake2400.bmp" ,"fake2400")
По сути, код сохранит изображение с обнаруженными ключевыми точками BRISK.Однако вот результаты применения этого кода на четырех изображениях:
Несмотря на то, что изображения разные (я могу легко различить их, используя эти дескрипторы BRISK в сумке визуального подхода слов), кажется, что ключевые точки, обнаруженные на всех этих четырех изображениях, визуальноТо же самое или, может быть, большое количество концентрических кругов сбивает с толку зрителя.Как я могу уменьшить количество ключевых точек, показанных таким образом, чтобы я мог видеть, как эти изображения отличаются через эти дескрипторы?