python openslide 查看并保存切片的略缩图,并将Image图片转换成Base64
程序员文章站
2022-05-04 14:14:34
...
说明
项目有个需求,需要显示病理切片的略缩图,查了一下api,实现代码挺简单的。
代码:
1,保存为本地图片
import openslide
#切片路径
img_path = "./slice/2018-49899004.ndpi"
#打开
slide = openslide.open_slide(img_path)
#设置略缩图的大小,高 72,宽 72
slide_thumbnail = slide.get_thumbnail((72 , 72))
#保存到指定位置
slide_thumbnail.save("d:\\dfd.jpg")
#关闭io
slide.close()
2,Image转换成BASE64
import openslide
import base64
from io import BytesIO
#切片路径
img_path = "./slice/2018-49899004.ndpi"
#打开
slide = openslide.open_slide(img_path)
#设置略缩图的大小,高 72,宽 72
slide_thumbnail = slide.get_thumbnail((72 , 72))
#需要一个bytes
output_buffer = BytesIO()
#将image对象存储到bytes对象
slide_thumbnail.save(output_buffer, format='JPEG')
im_data = output_buffer.getvalue()
#转换成base64位字符串,并且是utf-8编码
image_base64 = str(base64.b64encode(im_data), encoding='utf-8')
#加上base64头部信息
#如果是png格式,头部信息改成 data:image/png;base64,依次类推
data_url = 'data:image/jpg;base64,' + image_base64
#关闭io
slide.close()