一张图
图中的人叫 lena , 是计算机视觉研究中常用的一张图
这张图的分辨率为
思考题代码
import cv2 as cv
import numpy as np
imgpath = "lena.png"
img = cv.imdecode(np.fromfile(imgpath,dtype=np.uint8),-1)
i = 0
while i < 511:
i=i+1
img[i][i][1] = 255
img[i][i][0] = 255
img[i][i][2] = 255
i =0
while i < 511:
i=i+1
img[i][511-i][1] = 255
img[i][511-i][0] = 255
img[i][511-i][2] = 255
print(img)
cv.imshow("lena",img)
cv.waitKey(0)
cv.destroyAllWindows()
问题是上述代码输出什么结果?
- 每一张图片的颜色都是由 rgb 这三种颜色混合之后控制的
- 图片是一个二维的东西
- 每一个像素点存储的时候使用了三维的数组是因为除了 x 和 y 坐标这两维, 还有一个是颜色通道
- 颜色通道这一栏控制着颜色
- 由于照片的分辨率是 512 * 512 , 所以, 坐标表示为 0 到 511
- rgb 三种颜色的数值全部调到最高的时候, 最终呈现的颜色就是白色
- 连续的,横纵坐标相同的地方, 就是对角线
- 第一个 while 循环控制着左边到右边的对角线
- 第二个 while 循环控制着右边到左边的对角线
- 所以最终会出现一个被分割成四块的原图
下面的是结果:
|