Размер изображения был изменен после использования вейвлет-преобразования - PullRequest
0 голосов
/ 06 мая 2020

Мой код:

def Wavelet(img):
"""Using Wavelet transform to denoise"""
img=img/255
results=[]
R, G, B=cv2.split(img)
channels=[R,G,B]
for channel in channels:
    coeffs = pywt.dwt2(channel, 'haar')
    cA, (cH, cV, cD) = coeffs
    cA1=cv2.blur(cA,(5,5),cv2.BORDER_DEFAULT)
    cH1 = cv2.blur(cH, (5, 5), cv2.BORDER_DEFAULT)
    cV1 = cv2.blur(cV, (5, 5), cv2.BORDER_DEFAULT)
    cD1 = cv2.blur(cD, (5, 5), cv2.BORDER_DEFAULT)
    coeffs1=cA1,(cH1,cV1,cD1)
    result=pywt.idwt2(coeffs1,'haar')
    results.append(result)

result_img = cv2.merge([results[0], results[1], results[2]])

После использования вейвлет-преобразования я обнаружил, что размер изображения изменился. Исходный размер - 740 * 389, но обработанный - 740 * 390. Я не хочу иметь дело с рамкой изображения, что мне делать?

Ответы [ 2 ]

0 голосов
/ 06 мая 2020

Функция размытия не меняет размер вашего изображения. Если вы читаете документацию , там написано:

Выходное изображение: изображение того же размера и типа, что и исходное изображение.

0 голосов
/ 06 мая 2020

Здесь вы используете размер окна (5x5), поэтому размер изображения округляется до ближайшего кратного 5, я не думаю, что вы можете изменить его, кроме как изменить его размер. см. здесь пример cv2.blur () .

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