Как прочитать изображение с помощью PyWavelets? - PullRequest
2 голосов
/ 25 июня 2019

Мне нужно использовать pyWavelet, т.е. pywt, чтобы прочитать мое изображение, чтобы сделать вейвлеты для него, приведенный ниже пример используется только для загрузки изображения с камеры, как использовать другое изображение из моего компьютерного пути?

import pywt
import pywt.data

# Load image
original = pywt.data.camera()

Ответы [ 2 ]

0 голосов
/ 26 июня 2019

Вы можете попробовать следующее.

import numpy as np
import matplotlib.pyplot as plt
import pywt
import pywt.data
# Load image
original = pywt.data.camera()
# Wavelet transform of image, and plot approximation and details
titles = ['Approximation', ' Horizontal detail', 'Vertical detail', 'Diagonal detail']
coeffs2 = pywt.dwt2(original, 'bior1.3')
LL, (LH, HL, HH) = coeffs2
fig = plt.figure(figsize=(12, 3))
for i, a in enumerate([LL, LH, HL, HH]):
ax = fig.add_subplot(1, 4, i + 1)
ax.imshow(a, interpolation="nearest", cmap=plt.cm.gray)
ax.set_title(titles[i], fontsize=10)
ax.set_xticks([])
ax.set_yticks([])
fig.tight_layout()
plt.show()

Справка: https://pywavelets.readthedocs.io/en/latest/

0 голосов
/ 26 июня 2019

Я не уверен, что вы можете прочитать изображение, просто используя pywt, но вы можете загрузить изображение, используя OpenCV, а затем преобразовать его в пригодный для использования формат для использования с pywt

import cv2
import numpy as np
import pywt

image = cv2.imread('1.png')
image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# Convert to float for more resolution for use with pywt
image = np.float32(image)
image /= 255

# ...
# Do your processing
# ...

# Convert back to uint8 OpenCV format
image *= 255
image = np.uint8(image)

cv2.imshow('image', image)
cv2.waitKey(0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...