Advertisement
Botlarakla

Azadov Nadirbek 12-praktika

Nov 22nd, 2024
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.69 KB | Source Code | 0 0
  1. import cv2
  2. import numpy as np
  3.  
  4. # Укажите путь к изображению
  5. image_path = '/Users/Texnik/Downloads/Новая папка 2/brick.jpg'
  6.  
  7. # Загрузка изображения
  8. image = cv2.imread(image_path)
  9. if image is None:
  10.     print("Ошибка: изображение не найдено. Проверьте путь.")
  11.     exit()
  12.  
  13. # Конвертация в оттенки серого
  14. gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
  15.  
  16. # Преобразование в float32 для детектирования углов
  17. gray_float = np.float32(gray)
  18. harris_corners = cv2.cornerHarris(gray_float, blockSize=2, ksize=3, k=0.04)
  19.  
  20. # Расширение результата для выделения углов
  21. harris_corners = cv2.dilate(harris_corners, None)
  22.  
  23. # Пороговое значение для выделения углов
  24. threshold = 0.01 * harris_corners.max()
  25. image[harris_corners > threshold] = [0, 0, 255]  # Углы выделяются красным цветом
  26.  
  27. # Отображение результата
  28. cv2.imshow('Harris Corners', image)
  29. cv2.waitKey(0)
  30. cv2.destroyAllWindows()
  31.  
  32.  
  33.  
  34. №№№№№№№№№№№№
  35.  
  36. import cv2
  37. import numpy as np
  38.  
  39. # Укажите путь к изображению
  40. image_path = '/Users/Texnik/Downloads/Новая папка 2/checkerboard_2.jpg'  # Обратите внимание на правильность пути
  41.  
  42. # Загрузить изображение
  43. image = cv2.imread(image_path)
  44. if image is None:
  45.     print("Ошибка: изображение не найдено. Проверьте путь.")
  46.     exit()
  47.  
  48. # Преобразовать изображение в оттенки серого
  49. gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
  50.  
  51. # Применить детектор углов Shi-Tomasi
  52. corners = cv2.goodFeaturesToTrack(
  53.     gray, maxCorners=100, qualityLevel=0.01, minDistance=10
  54. )
  55. corners = np.intp(corners)  # Преобразовать координаты углов в целые числа
  56.  
  57. # Нарисовать круги вокруг обнаруженных углов
  58. for corner in corners:
  59.     x, y = corner.ravel()  # Преобразовать координаты из 2D-массива в одномерный массив
  60.     cv2.circle(image, (x, y), 3, (0, 255, 0), -1, lineType=cv2.LINE_AA)
  61.  
  62. # Отобразить результат
  63. cv2.imshow('Shi-Tomasi Corners', image)
  64. cv2.waitKey(0)
  65. cv2.destroyAllWindows()
  66.  
  67.  
  68.  
  69.  
  70.  
  71. №№№№№№№
  72.  
  73.  
  74.  
  75. import cv2
  76. import numpy as np
  77.  
  78. # Проверяем наличие модуля SIFT в OpenCV
  79. sift = cv2.SIFT_create()
  80.  
  81. # Укажите путь к изображению
  82. image_path = '/Users/Texnik/Downloads/Новая папка 2/checkerboard_1.jpg'  # Укажите правильный путь
  83.  
  84. # Загрузите изображение
  85. image = cv2.imread(image_path)
  86. if image is None:
  87.     print("Ошибка: изображение не найдено. Проверьте путь.")
  88.     exit()
  89.  
  90. # Преобразование изображения в оттенки серого
  91. gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
  92.  
  93. # Обнаружьте ключевые точки SIFT
  94. keypoints = sift.detect(gray, None)
  95.  
  96. # Нарисуйте ключевые точки на изображении
  97. image_with_keypoints = cv2.drawKeypoints(
  98.     image, keypoints, None, color=(0, 0, 255), flags=cv2.DRAW_MATCHES_FLAGS_DEFAULT
  99. )
  100.  
  101. # Отобразите изображение с ключевыми точками
  102. cv2.imshow('SIFT Keypoints', image_with_keypoints)
  103. cv2.waitKey(0)
  104. cv2.destroyAllWindows()
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111. №№№№№№№
  112. import cv2
  113. import numpy as np
  114.  
  115. # Инициализация ORB детектора
  116. orb = cv2.ORB_create()
  117.  
  118. # Укажите путь к изображению
  119. image_path = '/Users/Texnik/Downloads/Новая папка 2/landscape.jpg'  # Укажите правильный путь
  120.  
  121. # Загрузка изображения и преобразование в градации серого
  122. image = cv2.imread(image_path)
  123. if image is None:
  124.     print("Ошибка: изображение не найдено. Проверьте путь.")
  125.     exit()
  126.  
  127. gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
  128.  
  129. # Обнаружение ключевых точек
  130. keypoints = orb.detect(gray, None)
  131.  
  132. # Отрисовка ключевых точек на изображении
  133. image_with_keypoints = cv2.drawKeypoints(image, keypoints, None, color=(0, 0, 255), flags=cv2.DRAW_MATCHES_FLAGS_DEFAULT)
  134.  
  135. # Отображение результата
  136. cv2.imshow('ORB Keypoints', image_with_keypoints)
  137. cv2.waitKey(0)
  138. cv2.destroyAllWindows()
Tags: 12 praktika
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement