1-读取图像

1 格式说明

1 Andor相机默认采集16bit图像img = io.imread('radiography image 1.tif')读取后即为uint16,运算中自动转为float64。
2 ImageJ中,图像经过image calculator加减乘除运算后,会自己转为float32(32bit)储存。同python中的float32格式储存。

tiff格式存储
jpg\png格式不能无损保存,会自动转为uint8保存,推荐tiff储存
float64存储无法预览,float32的tif图像可以预览。np中默认float64运算,可以改为float32储存
(uint8/16/32可以预览,但是,float64转化为uint8/16/32/64保存后,低数值的像素会丢失信息,不要转为uint。float64转float32基本不丢失信息)
在这里插入图片描述

读取
img = io.imread('radiography image 1.tif')
img = skimage.img_as_float32(img)
存储tiff
image = np.array(image, dtype=np.float32)
io.imsave('img-dealed.tiff',image)

2 读取

skimage

import skimage
from skimage import io, color

# 读取灰度图,能做到16bit无损
img = io.imread('CT-220s_681.tif')   # 直接就是numpy类型,dtype根据图片格式决定
img = skimage.img_as_float32(img)    # dtype转换为float32

print(img.shape, type(img), img.dtype)


# 读取彩色图,默认RGB
img = io.imread('0006.png')   
print(img.shape, type(img), img.dtype)
print(img)

输出

(721, 1994) <class 'numpy.ndarray'> uint16
[[47532 46889 47658 ... 46906 46789 46942]
 [48233 47433 47538 ... 47491 47502 47378]
 [47926 46989 46765 ... 46272 46423 46601]
 ...
 [47306 45753 46147 ... 47469 47149 47082]
 [46289 46380 46739 ... 47196 46787 47083]
 [46588 46007 46457 ... 46843 47372 47149]]

(2040, 1356, 3) <class 'numpy.ndarray'> uint8
[[[158 120  97]
  ...
  [126 109  79]]]

请添加图片描述
请添加图片描述

3 RGB转换为灰度图

# RGB转换为灰度图。自动转化到[0,1],float64
gray_img = color.rgb2gray(img)
print(gray_img.shape, type(gray_img), gray_img.dtype)

输出

(2040, 1356) <class 'numpy.ndarray'> float64

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nutron-ma

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值