2022.9.2 OpenCV课程群思考题

一张图

图中的人叫 lena , 是计算机视觉研究中常用的一张图

在这里插入图片描述

这张图的分辨率为
在这里插入图片描述

思考题代码

import cv2 as cv 
import numpy as np

# 获取图片路径
imgpath = "lena.png"
# 将图片解码为 numpy 对象
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() #释放窗口

问题是上述代码输出什么结果?

  1. 每一张图片的颜色都是由 rgb 这三种颜色混合之后控制的
  2. 图片是一个二维的东西
  3. 每一个像素点存储的时候使用了三维的数组是因为除了 x 和 y 坐标这两维, 还有一个是颜色通道
  4. 颜色通道这一栏控制着颜色
  5. 由于照片的分辨率是 512 * 512 , 所以, 坐标表示为 0 到 511
  6. rgb 三种颜色的数值全部调到最高的时候, 最终呈现的颜色就是白色
  7. 连续的,横纵坐标相同的地方, 就是对角线
  8. 第一个 while 循环控制着左边到右边的对角线
  9. 第二个 while 循环控制着右边到左边的对角线
  10. 所以最终会出现一个被分割成四块的原图

下面的是结果:

在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值