Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import cv2
- import numpy as np
- # Укажите путь к изображению
- image_path = '/Users/Texnik/Downloads/Новая папка 2/brick.jpg'
- # Загрузка изображения
- image = cv2.imread(image_path)
- if image is None:
- print("Ошибка: изображение не найдено. Проверьте путь.")
- exit()
- # Конвертация в оттенки серого
- gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
- # Преобразование в float32 для детектирования углов
- gray_float = np.float32(gray)
- harris_corners = cv2.cornerHarris(gray_float, blockSize=2, ksize=3, k=0.04)
- # Расширение результата для выделения углов
- harris_corners = cv2.dilate(harris_corners, None)
- # Пороговое значение для выделения углов
- threshold = 0.01 * harris_corners.max()
- image[harris_corners > threshold] = [0, 0, 255] # Углы выделяются красным цветом
- # Отображение результата
- cv2.imshow('Harris Corners', image)
- cv2.waitKey(0)
- cv2.destroyAllWindows()
- №№№№№№№№№№№№
- import cv2
- import numpy as np
- # Укажите путь к изображению
- image_path = '/Users/Texnik/Downloads/Новая папка 2/checkerboard_2.jpg' # Обратите внимание на правильность пути
- # Загрузить изображение
- image = cv2.imread(image_path)
- if image is None:
- print("Ошибка: изображение не найдено. Проверьте путь.")
- exit()
- # Преобразовать изображение в оттенки серого
- gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
- # Применить детектор углов Shi-Tomasi
- corners = cv2.goodFeaturesToTrack(
- gray, maxCorners=100, qualityLevel=0.01, minDistance=10
- )
- corners = np.intp(corners) # Преобразовать координаты углов в целые числа
- # Нарисовать круги вокруг обнаруженных углов
- for corner in corners:
- x, y = corner.ravel() # Преобразовать координаты из 2D-массива в одномерный массив
- cv2.circle(image, (x, y), 3, (0, 255, 0), -1, lineType=cv2.LINE_AA)
- # Отобразить результат
- cv2.imshow('Shi-Tomasi Corners', image)
- cv2.waitKey(0)
- cv2.destroyAllWindows()
- №№№№№№№
- import cv2
- import numpy as np
- # Проверяем наличие модуля SIFT в OpenCV
- sift = cv2.SIFT_create()
- # Укажите путь к изображению
- image_path = '/Users/Texnik/Downloads/Новая папка 2/checkerboard_1.jpg' # Укажите правильный путь
- # Загрузите изображение
- image = cv2.imread(image_path)
- if image is None:
- print("Ошибка: изображение не найдено. Проверьте путь.")
- exit()
- # Преобразование изображения в оттенки серого
- gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
- # Обнаружьте ключевые точки SIFT
- keypoints = sift.detect(gray, None)
- # Нарисуйте ключевые точки на изображении
- image_with_keypoints = cv2.drawKeypoints(
- image, keypoints, None, color=(0, 0, 255), flags=cv2.DRAW_MATCHES_FLAGS_DEFAULT
- )
- # Отобразите изображение с ключевыми точками
- cv2.imshow('SIFT Keypoints', image_with_keypoints)
- cv2.waitKey(0)
- cv2.destroyAllWindows()
- №№№№№№№
- import cv2
- import numpy as np
- # Инициализация ORB детектора
- orb = cv2.ORB_create()
- # Укажите путь к изображению
- image_path = '/Users/Texnik/Downloads/Новая папка 2/landscape.jpg' # Укажите правильный путь
- # Загрузка изображения и преобразование в градации серого
- image = cv2.imread(image_path)
- if image is None:
- print("Ошибка: изображение не найдено. Проверьте путь.")
- exit()
- gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
- # Обнаружение ключевых точек
- keypoints = orb.detect(gray, None)
- # Отрисовка ключевых точек на изображении
- image_with_keypoints = cv2.drawKeypoints(image, keypoints, None, color=(0, 0, 255), flags=cv2.DRAW_MATCHES_FLAGS_DEFAULT)
- # Отображение результата
- cv2.imshow('ORB Keypoints', image_with_keypoints)
- cv2.waitKey(0)
- cv2.destroyAllWindows()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement