首页 > 解决方案 > Python中使用opencv进行灰度缩放后颜色显示异常

问题描述

我正在尝试在 python 中使用 Opencv 来处理数字病理图像。我将 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'))

我运行代码后,得到如下图

在此处输入图像描述

标签: pythonnumpyopencvimage-processing

解决方案


假设您正在使用 MatPlotLib 绘制看起来像是viridis颜色图的图像,请在此处查看它们。如果要将颜色图更改为灰度,请gray输入plt.imshow().

IE

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

如果您不使用 matplotlib,那么这仍然是您的问题,因此请查看图像绘图库文档以更改颜色图。


推荐阅读