Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 8, 2023 00:53:12

Arseniylaptev
Зарегистрирован: 2022-12-05
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Обрезка искаженных изображений

Создал программу, которая сшивает изображения в панораму, и для сохранения масштабности программа искажает контуры результата. Осталось довести этот результат до конца.
Была идея найти крайние нулевые пиксели и обрезать фотку по ним, так получится прямоугольное изображение, уже без искажений контура, а так же при обрезке теряется минимальное количество информации.
Вот код, который должен это сделать, однако почему-то он не находит эти самые нулевые пиксели(

import numpy as np
from PIL import Image

def crop_image(img):
distorted_image = np.array(img)
first_zero_row = np.where(distorted_image.sum(axis=1) == 0)
first_zero_column = np.where(distorted_image.sum(axis=0) == 0)

# Обрезать искаженное изображение по первым нулевым пикселям, если они существуют
if first_zero_row.size > 0 and first_zero_column.size > 0:
cropped_image = distorted_image[:first_zero_row, :first_zero_column]
else:
cropped_image = distorted_image
return cropped_image

Если Вам не сложно, помогите доработать код, или может вообще начать заново.
Вот пример искаженного изображения:
Your text to link here…

Отредактировано Arseniylaptev (Апрель 8, 2023 00:55:32)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version