RGB能够构成人眼所能识别的所有颜色。
Example:
img.shape
Out[329]: (512, 768, 3)
img.dtype
Out[330]: dtype('uint8')
#补值变换
shift_temp_img = [255,255,255] - img
shift_img = Image.fromarray(shift_temp_img.astype('uint8'))
shift_img.save("D:/shift1.jpg")
img = np.array(Image.open("practice_dataset/train/ants_image/0013035.jpg").convert('L'))
b = 255 - img
shift_img = Image.fromarray(b.astype('uint8'))
shift_img.save("D:/shift2.jpg")
img = np.array(Image.open("practice_dataset/train/ants_image/0013035.jpg").convert('L'))
#区间变换
c = (200/255) * img + 55
shift_img = Image.fromarray(c.astype('uint8'))
shift_img.save("D:/shift3.jpg")
img = np.array(Image.open("practice_dataset/train/ants_image/0013035.jpg").convert('L'))
d = 255 * (img/255)**2
shift_img = Image.fromarray(d.astype('uint8'))
shift_img.save("D:/shift4.jpg")
注:
uint8
?是一个数据类型,表示无符号 8 位整数(unsigned 8-bit integer)。在许多编程语言和图像处理库中,包括 Python 中的 NumPy 和 PIL(Pillow),uint8
?常用于表示图像像素的颜色值。
在 NumPy 中,uint8
?是一种数据类型,用于表示范围在 0 到 255 之间的整数。它占用 8 位(1 字节)内存空间。可以使用?np.uint8
?或?np.dtype('uint8')
?来表示?uint8
?数据类型。
在 PIL(Pillow)中,uint8
?是默认的像素数据类型,用于表示图像的每个像素的颜色值。PIL 中的图像对象可以通过?Image.mode
?属性来查看图像的模式,通常会显示为?"L"
(灰度图像)或?"RGB"
(真彩色图像)。对于?"L"
?模式的图像,每个像素的值是一个?uint8
?类型的灰度值(0 到 255);对于?"RGB"
?模式的图像,每个像素的值是一个长度为 3 的?uint8
?类型的元组,表示红、绿、蓝三个通道的颜色值。