Артефакты в iShow PyPlot против OpenCV - PullRequest
4 голосов
/ 26 апреля 2019

У меня изображение в градациях серого в формате массива numpy (стандартный формат OpenCV). Нормальное изображение, uint8, все значения от 0 до 255. При запуске:

import cv2
cv2.imshow('', image)

Я получаю:

enter image description here

Но когда я бегу:

from matplotlib import pyplot
pyplot.imshow(image, cmap="gray")
pyplot.show()

Я получаю:

enter image description here

И что действительно странно, так это то, что если я изменю размер окна pyplot, эти линейные артефакты изменятся по ширине. Что с этим? Я понятия не имею, что показывает эти артефакты.

1 Ответ

1 голос
/ 26 апреля 2019

Чтобы удалить эффекты сглаживания, вы можете добавить фильтр сглаживания:

from matplotlib import pyplot
pyplot.imshow(image, cmap="gray", interpolation='hanning')
pyplot.show()

В этом случае это не просто интерполяция, а сглаживание исходных данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...