12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- 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)
|