Advertisement
Botlarakla

Azadov Nadirbek 14praktika

Nov 24th, 2024
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.67 KB | Source Code | 0 0
  1. import cv2
  2. import os
  3.  
  4. # Пути к изображениям и итоговому файлу
  5. imagePaths = [
  6.     "/Users/texnik/Downloads/13praktika/Images/1 rasm.jpeg",
  7.     "/Users/texnik/Downloads/13praktika/Images/2 rasm.jpeg",
  8.     "/Users/texnik/Downloads/13praktika/Images/3 rasm.jpeg",
  9. ]
  10. output_path = "/Users/texnik/Downloads/13praktika/full/result.jpg"
  11.  
  12. # Проверка и загрузка изображений
  13. images = []
  14. print("[INFO] Проверка и загрузка изображений...")
  15. print("[INFO] Пути к изображениям:")
  16. for imagePath in imagePaths:
  17.     print(f"  - {imagePath}")
  18.     if not os.path.exists(imagePath):
  19.         print(f"[ERROR] Файл не найден: {imagePath}")
  20.         exit()
  21.     image = cv2.imread(imagePath)
  22.     if image is None:
  23.         print(f"[ERROR] Не удалось загрузить изображение: {imagePath}")
  24.         exit()
  25.     images.append(image)
  26.  
  27. # Вывод размеров входных изображений
  28. print("[INFO] Размеры входных изображений:")
  29. for idx, image in enumerate(images, start=1):
  30.     h, w = image.shape[:2]
  31.     print(f"  Изображение {idx}: Ширина = {w}, Высота = {h}")
  32.  
  33. # Значение пикселя в точке (78, 200) третьего изображения
  34. pixel_value = images[2][200, 78]
  35. print(f"[INFO] Значение пикселя в точке (x=78, y=200) третьего изображения: {pixel_value}")
  36.  
  37. # Сшивание изображений
  38. print("[INFO] Сшивание изображений...")
  39. stitcher = cv2.createStitcher() if cv2.__version__.startswith("3.") else cv2.Stitcher_create()
  40. (status, stitched) = stitcher.stitch(images)
  41.  
  42. # Проверка результата
  43. if status == 0:
  44.     print("[INFO] Сшивание завершено успешно.")
  45.    
  46.     # Сохранение результата
  47.     cv2.imwrite(output_path, stitched)
  48.     print(f"[INFO] Итоговое изображение сохранено по пути: {output_path}")
  49.  
  50.     # Размеры выходного изображения
  51.     h, w = stitched.shape[:2]
  52.     print(f"[INFO] Размер выходного изображения: Ширина = {w}, Высота = {h}")
  53.  
  54.     # Значение пикселя в точке (150, 98) выходного изображения
  55.     pixel_value_output = stitched[98, 150]
  56.     print(f"[INFO] Значение пикселя в точке (x=150, y=98) выходного изображения: {pixel_value_output}")
  57.  
  58.     # Показ результата
  59.     cv2.imshow("Stitched Image", stitched)
  60.     cv2.waitKey(0)
  61.     cv2.destroyAllWindows()
  62. else:
  63.     print(f"[ERROR] Сшивание изображений не удалось. Код ошибки: {status}")
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. #Размеры входных изображений:
  71.   Изображение 1: Ширина = 960, Высота = 1280
  72.   Изображение 2: Ширина = 960, Высота = 1280
  73.   Изображение 3: Ширина = 960, Высота = 1280
  74. [INFO] Значение пикселя в точке (x=78, y=200) третьего изображения: [27 25 24]
  75. [INFO] Сшивание изображений...
  76. [INFO] Сшивание завершено успешно.
  77. [INFO] Итоговое изображение сохранено по пути: /Users/texnik/Downloads/13praktika/full/result.jpg
  78. [INFO] Размер выходного изображения: Ширина = 1475, Высота = 1242
  79. [INFO] Значение пикселя в точке (x=150, y=98) выходного изображения: [18 18 16]
Tags: 14praktika
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement