【code基础】skimage.transform.resize的一些理解

网友投稿 1862 2022-11-01

【code基础】skimage.transform.resize的一些理解

【code基础】skimage.transform.resize的一些理解

skimage.transform.resize(order, preserve_range)

order: 插值的方法0-5:0-最近邻;1-双线性;

skimage在读使用io.imread读取灰度图像时(as_grey=True / as_gray=True)会做归一化处理数据类型转化为float64;图像缩放transform.resize同样会将uint8的图像转化为float64类型,这里注意的是!!!!!!!如果已经归一化,但是类型依然是uint8的图像,在缩放之后图像的范围将不再是(0-1)。主要在resize方面,cv2.resize就是单纯调整尺寸,而skimage.transform.resize会顺便把图片的像素归一化缩放到(0,1)区间内;

preserve_range : bool, optional Whether to keep the original range of values. Otherwise, the input image is converted according to the conventions of `img_as_float`.

​​skimage import io, transform, colorimport numpy as npprint('skimage: ', skimage.__version__)a=np.zeros((20, 20))a[2:8, 1:3]=1a[1:3, 4:9]=2a[3:9, 6:8]=2print(a)print(a.shape)print(a.dtype)print(np.unique(a))b = skimage.transform.resize(a,(10, 10),mode='constant', order=0, anti_aliasing=False, preserve_range=True)print(b)print(b.shape)print(b.dtype)print(np.unique(b))label = skimage.io.imread('sample800/label/0705_1.png')print(label.shape) #(800, 800)print(label.dtype)print(np.unique(label))lbl = skimage.transform.resize(label,(512, 512),mode='edge', order=0, anti_aliasing=False, preserve_range=True)print(lbl.shape)print(lbl.dtype)print(np.unique(lbl))label_show = np.zeros((512, 512, 3), dtype=np.uint8)COLORS = [(0, 0, 0), (0, 255, 0), (0, 0, 255), (238, 18, 137), (162, 205, 90), (70, 130, 180), (238, 238, 0), (255, 69, 0), (205, 145, 158), (238, 92, 66), (144, 238, 144), (124, 205, 124), (0, 229, 238), (151, 255, 255), (205, 190, 112)]for i in range(1, 9): label_show[lbl==i]=COLORS[i]import cv2cv2.imshow("label_img", label_show)cv2.waitKey(1)

View Code

description:

anti_aliasingbool, optionalWhether to apply a Gaussian filter to smooth the image prior to downsampling. It is crucial to filter when downsampling the image to avoid aliasing artifacts. If not specified, it is set to True when downsampling an image whose data type is not bool.

​​preserve_range 不起作用?????​​

参考

1. ​​踩坑:skimage中对图像做的归一化处理​​;

2. ​​skimage.transform.resize​​;

3. ​​skimage_github_issue​​;

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python下的极简orm框架,核心思想,领域对象+仓库
下一篇:QQAlbum 项目介绍 该框架为一个类似QQ多选照片
相关文章

 发表评论

暂时没有评论,来抢沙发吧~