Задать вопрос
BitNeBolt
@BitNeBolt

Почему не работает resize (OpenCV)?

Пытаюсь пробежаться по всему изображению и выбирать квадратик, размером n*n, который с каждым разом увеличивается. Но даже самый маленький квадратик мне нужно перемасштабировать в 64*64 пикселей размером. Когда цикл доходи до строчки ресайза, то она просто игнорируется(по крайней мере никакого результата её работы я не вижу).

Узнал я это, сохранив изображение (посмотрел его размер). По идее он должен быть 64*64, но он отличается от этого и даже не в пропорциях квадрата. С чем это связано и как это исправить, есть ли аналогичный параметр вроде detectMultiScale, но не для каскада Хаара?

P.S. под словом "квадратик" я имею ввиду получение фрагмента изображения в пропорциях квадрата, размер которого увеличивается

Вот код моей программы:
import cv2 # подключаем OpenCV
import numpy as np # подключаем numpy

img = cv2.imread("test.jpg") # загрузка изображения

img = np.array(img) # перевод его в массив

for i in range(4, 100): # изменяет размер квадрата с каждым разом
    height = np.size(img, 0) # высота изображения
    width = np.size(img, 1) # ширина изображения

    while heigh % i != 0: # делаем так, чтобы квадратик мог пробежаться по высоте
        height = height + 1
        
    while width % i != 0: # делаем так, чтобы квадратик мог пробежаться по ширине
        width = width + 1

    cv2.resize(img, (width, height)) # переделываем в новое изображение, удобное квадрату

    for r in range(0, int(height / i)): # пробег по ширине
        for q in range(0, int(width / i)): # по этой ширине создаем квадратик
                roi = img[r*i:r*i+i, q*i:q*i+i] # создание квадратика

                cv2.imshow("ROI", roi) # для проверки

                cv2.resize(roi, (64, 64)) # то, чо не работает
            
cv2.imwrite("DELETE.jpg", roi) #для проверки
  • Вопрос задан
  • 167 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
BitNeBolt
@BitNeBolt Автор вопроса
Необходимо присваивать новое значение
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы