import cv2 from skimage import io import matplotlib.pyplot as plt import sys import os # image = io.imread('D:\\hiddz\\SAR\\test_data\\TEST\\A11\\HB14931.JPG') # # # 创建ORB对象 # orb = cv2.ORB_create() # # # 检测ORB特征点 # keypoints, descriptors = orb.detectAndCompute(image, None) # # # 绘制特征点 # image_with_keypoints = cv2.drawKeypoints(image, keypoints, None) # # # 保存带有特征点的图像 # plt.imshow(image_with_keypoints) # plt.title('ORB Image') # plt.show() def process_image(image_path): image = io.imread(image_path) # 创建ORB对象 orb = cv2.ORB_create() # 检测ORB特征点 keypoints, descriptors = orb.detectAndCompute(image, None) # 绘制特征点 image_with_keypoints = cv2.drawKeypoints(image, keypoints, None) # 保存带有特征点的图像 plt.imshow(image_with_keypoints) plt.title('ORB Image') folder_name = os.path.basename(os.path.dirname(image_path)) # 创建保存图像的文件夹 save_folder = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'orb', folder_name) os.makedirs(save_folder, exist_ok=True) # 保存图像 save_path = os.path.join(save_folder, 'orb_' + os.path.basename(image_path)) plt.imsave(save_path, image_with_keypoints, cmap='gray') print(save_path) # plt.show() if __name__ == "__main__": if len(sys.argv) != 2: sys.exit(1) image_path = sys.argv[1] process_image(image_path)