python 灰度图像转彩色,基于python的数字图像处理
本文主要介绍python数字图像处理的数据类型和色彩空间转换的例子。有需要的朋友可以借鉴一下,希望能有所帮助。祝你进步很大,早日升职加薪。
00-1010 1.图像数据类型和转换1。unit8到float2,float到uint8 2。色彩空间及其转换示例:rgb到灰度图像其他转换示例:rgb到hsv
目录
在skimage中,图片是一个简单的numpy数组。数组有多种数据类型,可以相互转换。下表显示了这些数据类型和值范围:
typerangeuint 80 to 255 uint 160 to 65535 uint 320 to 232 float-1t 0或0t 0 in t8-128 to 127 int 16-32768 to 32767 int 32-231 to 231-1在一张图片中,像素值范围为[0,255],所以默认类型为unit8,可以用下面的代码查看。
从skimage导入io,数据
img=data.chelsea()
打印(img.dtype.name)
在上表中,要特别注意浮点类型,其范围在[-1,1]或[0,1]之间。彩色图片转换为灰度图像后,其类型从unit8变为float。
一、图像数据类型及转换
从skimage导入数据,img_as_float
img=data.chelsea()
打印(img.dtype.name)
dst=img_as_float(img)
打印(dst.dtype.name)
输出:
uint8
float64
1、unit8转float
从skimage导入img_as_ubyte
将numpy作为np导入
img=np.array([0,0.5,1],dtype=float)
打印(img.dtype.name)
dst=img_as_ubyte(img)
打印(dst.dtype.name)
输出:
float64
uint8
Float改为unit8,可能会造成数据丢失,所以会有警告。
除了这两种最常用的转换,实际上还有其他一些类型转换,如下表所示:
函数名称描述img _ as _ float转换为64位浮点型. img_as_ubyteConvert转换为8位uint . img _ as _ uint转换为16位uint . img _ as _ int转换为16位int。
2、float转uint8
如前所述,数据类型不仅可以通过直接转换来改变,还可以通过图像的颜色空间转换来改变。
常用的色彩空间包括灰度空间、rgb空间、hsv空间和cmyk空间。颜色转换后,图像类型都是浮动的。
skimage的所有色彩空间转换功能都放在SKImage的色彩模块中。
二、颜色空间及其转换
从skimage导入io、数据、颜色
img=data.lena()
gray=color.rgb2gray(img)
io.imshow(灰色)
例:rgb转灰度图
用法相同,列举常用的如下:
skimage.color.rgb2grey(rgb)
skimage.color.rgb2hsv(rgb)
skimage.color.rgb2lab(rgb)
skimage.color.gray2rgb(图片)
skimage.color.hsv2rgb(hsv)
skimage.color.lab2rgb(实验室)
其实以上所有转换函数都可以用一个函数代替。
skim age . color . convert _ color space(arr,fromspace,tospace)
表示将arr从fromspace颜色空间转换到tospace颜色空间。
其它的转换
从skimage导入io、数据、颜色
img=data.lena()
hsv=color . convert _ color space(img, RGB , HSV )
io.imshow(hsv)
在色彩模块的色彩空间转换功能中,另一个有用的功能是
Skimage.color.label2rgb(arr),可以根据标签值给图片上色。您可以在对图片进行分类和着色后使用此功能。
例:lena图片分为三类,然后用默认颜色给三类上色。
从skimage导入io、数据、颜色
将numpy作为np导入
img=data.lena()
gray=color.rgb2gray(img)
rows,cols=gray.shape
labels=NP . zeros([行,列])
对于范围(行):中的I
对于范围内的j(列):
if(gray[i,j]0.4):
标签[i,j]=0
elif(gray[i,j]0.75):
标签[i,j]=1
else:
标签[i,j]=2
dst=color.label2rgb(标签)
io.imshow(夏令时)
这就是python数字图像处理数据类型和色彩空间转换的细节。关于python图像数据类型颜色空间的更多信息,请关注盛行IT软件开发工作室的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。