彩色图片实际是什么样子的
Posted jerry-home
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了彩色图片实际是什么样子的相关的知识,希望对你有一定的参考价值。
一张彩色图片实际上是由很多像素点组成,每个像素点又由RGB(分别为RED,GREEN,BLUE,俗称三原色)颜色构成,而RGB是通过数字的大小来确认。在0-255之间,有8位二进制码表示,通过改变大小,三种颜色可以构建出16777216(256 * 256 * 256)种颜色,俗称1600万色。可以看以下例子:
import matplotlib.image as mpimg import matplotlib.pyplot as plt image=mpimg.imread(‘c:/Users/0.jpg‘) print(image.shape) print(image) plt.imshow(image) plt.show()
下面是输出的内容:
(300, 300, 3)
[[[153 143 116]
[153 143 116]
[153 143 116]
...
[ 42 37 33]
[ 43 38 34]
[ 44 39 35]]
[[144 134 107]
[144 134 107]
[144 134 107]
...
[ 40 35 31]
[ 41 36 32]
[ 42 37 33]]
[[143 133 106]
[143 133 106]
[143 133 106]
...
[ 37 32 28]
[ 38 33 29]
[ 39 34 30]]
...
[[ 23 20 5]
[ 22 19 4]
[ 20 18 3]
...
[172 169 154]
[168 165 150]
[171 168 153]]
[[ 21 19 4]
[ 20 18 3]
[ 19 17 2]
...
[172 169 154]
[168 165 150]
[171 168 153]]
[[ 22 21 3]
[ 21 19 4]
[ 17 18 2]
...
[172 169 154]
[168 165 150]
[171 168 153]]]
从上面的输出结果可以看出,首先,该图片是300*300的图片,共计90000个像素点。第二个输出可以看出,图像其实就是一堆的数字,三个为一组,一组表示一个像素点,每组的数字对应着RGB中的值,表示着不同的颜色。在最后的图片输出中,我们可以更加直观的看到。当移动鼠标时,在右下方会显示坐标值和该像素点的RGB值。
综上,一张彩色图片在存储中,是由一堆0-255的数字构成。即为m*n*3,m表示长度(横坐标x),n表示高度(纵坐标y),m*n构成图片的像素值,3表示RGB三原色。
所以以后更改图片不就是可以直接从像素点更改吗?改变RGB值不就可以完全造假吗?而且还看不出造假的痕迹,哈哈哈哈
以上是关于彩色图片实际是什么样子的的主要内容,如果未能解决你的问题,请参考以下文章
ASIHttpRequest或者SDWebImage给UIImageView加载图片的逻辑是什么样子的