Как отобразить очень маленькое изображение со 100% зумом с помощью Python opencv - PullRequest
0 голосов
/ 08 октября 2019

Я просто хотел показать маленькое простое изображение.

import numpy as np
import cv2
a = np.zeros([64, 64], np.float32)
a[12, 31] = 1
cv2.imshow('test', a)
cv2.waitKey(0)

The resulting image: two dots are here

Я просто добавляю одну точку, но отображаются две точки.

Проблема вызвана скоростью увеличения. Я проверил размер изображения дисплея (71, 71). Как правильно отобразить это изображение?

Спасибо за вашу мудрость.


Окружающая среда:

Ubuntu 18.04.2 LTS
Python 3.6.8
opencv-python (4.1.0.25)

дополнительно:

The resulting image: two dots are here

Когда я опускаю колесо мыши, я вижу сообщение «Zoom: 100%». Но на самом деле коэффициент масштабирования не составляет 100%. По-прежнему отображаются две точки и размер отображаемого изображения (71, 71).

cv2.resizeWindow не работает.


дополнение:

The resulting image: two dots are here

Когда я запускал тот же код в Windows 10, я мог видеть правильное отображение. Это точный коэффициент увеличения 100%.

1 Ответ

0 голосов
/ 08 октября 2019

Вы всегда можете использовать cv2.resize (), чтобы изменить размер изображения на желаемый.

height = 64
dim = (width, height)

resized = cv2.resize(a, dim, interpolation = cv2.INTER_AREA)
...