2016-12-29 7 views
0

У меня есть изображение RGB (224x224x3) и наложение (224x224). Теперь я хочу применить свой накладной как красный пиксель на моем изображении RGB, который я делаю поэтому в оттенках серого. Диапазон наложения составляет от 0 до 255. Более высокие значения должны быть более красными.
Я попытался использовать учебник Стефана, но я не мог его адаптировать: tutorial.
Вот мой код:Применение наложений к изображению с различной прозрачностью

# RGB input, shape (224x224x3) 
img = self.inputImage 
# make to grayscale 
img = np.average(img, axis=2) 
rows, cols = img.shape[0], img.shape[1] 

color_mask = np.zeros((rows, cols, 3)) 

# convert to uint8 to plot in QImage::Format_RGB888 
img = img.astype(np.uint8) 
overlay = self.outputImage.astype(np.uint8) 
# normalize to range 0 to 1 
img = (img*1.0-img.min())/(img.max()-img.min()) 
overlay = (overlay*1.0 - overlay.min())/(overlay.max() - overlay.min()) 

# create a mask, where only the red channels contains values 
mask = np.zeros((rows,cols,3)) 
mask[:,:,0] = mask[:,:,0]+overlay 
color_mask = mask 

img_color = np.dstack((img, img, img)) 

# make everysthing to HSV colorspace 
img_hsv = color.rgb2hsv(img_color) 
color_mask_hsv = color.rgb2hsv(color_mask) 
img_hsv[..., 0] = color_mask_hsv[..., 0] 
img_hsv[..., 1] = color_mask_hsv[..., 1] * nAlpha 

# convert back 
img_masked = color.hsv2rgb(img_hsv) 
# rescale 
ov = img_masked*255 
self.mainWindow_images.label_outputImg.setPixmap(
    QPixmap(QImage(ov, ov.shape[1], ov.shape[0], ov.shape[1] * 3, QImage.Format_RGB888))) 

В результате только в основном черная картина, которая меняет немного с nAlpha. result_screenshot

ответ

1

Я думаю, что это то, что вы ищете:

enter image description here

Часть красного цвета является наложением.

Я смог сделать это с помощью OpenCV, с небольшой помощью от THIS POST, которую я прочитал несколько месяцев назад.

Этот blogpost охватывает многие другие интересные вещи в обработке изображений. Приветствия!

+0

blogpost, о котором я упомянул, также имеет соответствующий код. :) –

Смежные вопросы