Как преобразовать двоичное изображение в оттенки серого и RGB с помощью Python? - PullRequest
0 голосов
/ 30 мая 2018

Я работаю над удалением волос с изображений повреждений кожи.Есть ли способ преобразовать двоичный файл обратно в rgb?

Исходное изображение:

enter image description here

Изображение маски:

enter image description here

Я просто хочу восстановить черную область с исходным изображением.

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Примерно так, но ваша маска имеет неправильный размер (200x200 px), поэтому она не соответствует вашему изображению (600x450 px):

#!/usr/local/bin/python3
from PIL import Image
import numpy as np

# Open the input image as numpy array
npImage=np.array(Image.open("image.jpg"))
# Open the mask image as numpy array
npMask=np.array(Image.open("mask2.jpg").convert("RGB"))

# Make a binary array identifying where the mask is black
cond = npMask<128

# Select image or mask according to condition array
pixels=np.where(cond, npImage, npMask)

# Save resulting image
result=Image.fromarray(pixels)
result.save('result.png')

enter image description here

0 голосов
/ 30 мая 2018

Как я знаю, двоичные изображения хранятся в градациях серого в значениях opencv 1 -> 255.

Чтобы создать «фиктивные» RGB-изображения, вы можете сделать: rgb_img = cv2.cvtColor(binary_img, cv.CV_GRAY2RGB)

Я называю их"Dummy", поскольку на этих изображениях значения красного, зеленого и синего одинаковы.

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