openslide对.svs切成tile,并显示的记录

仅作为记录,大佬请跳过。

文章目录

直接上代码

(有.svs图和相应的python包(openslide、matplotlib)后可直接运行)

import openslide
import matplotlib.pyplot as plt

img_path=r'F:\Breast Metastases\data\images\Breast-Metastases-MSKCC\HobI16-053768896760.svs'

slide=openslide.OpenSlide(img_path);slide2=openslide.OpenSlide(img_path)
print(slide.level_dimensions[0])

from openslide.deepzoom import DeepZoomGenerator

print(slide.detect_format(img_path))        # 图像扫描仪制造商
print(slide.properties)                     # 幻灯片的各种属性
downsamples=slide.level_downsamples         # 下采样因子
[w,h]=slide.level_dimensions[0]             # 图像大小(宽,高)
print(w,h)

# # 得到缩略图
simg=slide.get_thumbnail((1500,1500))       # 206,400
plt.imshow(simg)
plt.show()

# # 实现DeepZoomGenerator的功能
data_gen=DeepZoomGenerator(slide2,tile_size=100,overlap=1,limit_bounds=False)

print('******************************')
print(data_gen.level_count)         # 深度缩放的级别
print(data_gen.tile_count)          # 深度缩放的图块数量
print(data_gen.level_tiles)         # level k's tile counts
print(data_gen.level_dimensions)    # level k's dimensions


# tile=data_gen.get_tile(11,(0,0))
# plt.imshow(tile);plt.show()

tile_img1=data_gen.get_tile(11,(0,0))
tile_img2=data_gen.get_tile(11,(0,1))
plt.subplot(2,1,1)
plt.imshow(tile_img1)
plt.subplot(2,1,2)
plt.imshow(tile_img2)
plt.show()

openslide对.svs切成tile,并显示的记录

参考

感谢大佬博主文章传送门

openslide官网在tile切块处理方面的应用传送门

上一篇:台式机主板常见接口资料


下一篇:用ProGAN生成高清影像,手把手教程!