Изображение OpenCV показывает странный блик после ненормализации с * 255 - PullRequest
0 голосов
/ 14 января 2019

Я запустил фрейм через передачу нейронного стиля с MobileSSD. Вот картина проблемы, с которой я сталкиваюсь, средняя - та, которая производит странные блики: enter image description here Чтобы выполнить прямое распространение с MobileSSD, вы должны нормализовать подобные данные:

               (h, w) = noise_picture.shape[:2]

                blob2 = cv2.dnn.blobFromImage(noise_picture, 1.0, (w, h), (103.939, 116.779, 123.680), swapRB=False, crop=False)
                NTSnet.setInput(blob2)
                output = NTSnet.forward()
                output = output.reshape((3, output.shape[2], output.shape[3]))
                output[0] += 103.939
                output[1] += 116.779
                output[2] += 123.680
                output /= 255.0
                output = output.transpose(1,2,0)

Странная вещь в том, что если бы я показал эту выходную вещь, которая делится на 255 (и, следовательно, между [0,1], она покажет самую правую картинку на моих 3 рисунках. Но если я добавлю ее к смоляному черному изображению с:

black_background[startY:endY, startX:endX] = output

И если я покажу black_background, это не сработает, хотя диапазон значений также должен быть [0,1]. Тем не менее, когда я делаю

black_background[startY:endY, startX:endX] = output * 255

Что нормализует данные (поправьте меня, если я ошибаюсь). Это работает, но показывает среднюю картинку со странным взглядом, какие-нибудь идеи? Заранее спасибо.

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