Цветное отображение ненормально после серого масштабирования с использованием opencv в Python - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь использовать Opencv в python для обработки цифровых изображений патологии.Я преобразовываю изображение в формате csv в массив и хочу преобразовать изображение в оттенки серого. Вот мой код:

start = time.time()
slide = openslide.open_slide("/Users/mihaoyang/Desktop/Pathology_Images/348980_case2_CD4.svs")
level_count = slide.level_count
print('level_count = ', level_count)
[column, row] = slide.dimensions
print('dimensions = ', column, row)
[column0, row0] = slide.level_dimensions[0]
[column1, row1] = slide.level_dimensions[1]
[column2, row2] = slide.level_dimensions[2]
print('dimensions[0] = ', [column0, row0])
print('dimensions[1] = ', [column1, row1])
print('dimensions[2] = ', [column2, row2])

slide_level_downsamples = slide.level_downsamples[2]
print(slide_level_downsamples)


slide_downsamples = slide.get_best_level_for_downsample(20.0)
print(slide_downsamples)

slide_normal = numpy.array(slide.read_region((12000, 15500), 0, (500, 500)))
slide_gray = numpy.array(slide.read_region((12000, 15500), 0, (500, 500)).convert('L'))

После запуска кода было получено следующее изображение

enter image description here

1 Ответ

0 голосов
/ 03 января 2019

Предполагая, что вы используете MatPlotLib для построения изображения, оно выглядит так, как будто оно viridis colormap , проверьте их здесь . Если вы хотите изменить цветовую карту на шкалу серого, передайте gray в plt.imshow().

т.е.

plt.figure()
plt.imshow(slide_gray, 'gray')
plt.show()

Если вы не используете matplotlib, то это все равно будет вашей проблемой, поэтому ознакомьтесь с документацией библиотеки графических изображений для изменения цветовых карт.

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