python opencv 图片BGR分层处理笔记

标题opencv 图片BGR分层处理

教程有些东西没有写得很明细,下面是我学习过程的一些补充。
直接上代码:

import cv2 as cv
import numpy as np
import random
import time
#创建黑色窗口 长 500 宽 500 3层色
img = np.zeros([500,500,3],np.uint8)
#创建白色窗口 长 500 宽 500 3层色
img_w = np.zeros([500,500,3],np.uint8)
img_w[:,:,:] = np.zeros([500,500,3],np.uint8)+[255,255,255]
#创建白色窗口 长 500 宽 500 3层色 注意 np.zeros 改成 np.ones
img_w1 = np.ones([500,500,3],np.uint8)
img_w1[:,:,:] = np.ones([500,500,3],np.uint8)*255
#创建蓝色窗口 长 500 宽 500 3层色 注意第二行没有 3 因为是 BGR 排序 B蓝排在第一层 0 
img_b = np.zeros([500,500,3],np.uint8)
img_b[:,:,0] = np.zeros([500,500],np.uint8)+255# 0 层 所以是单层,3不能再出现。下面G,R层是一样的道理
#创建绿色窗口 长 500 宽 500 3层色
img_g = np.zeros([500,500,3],np.uint8)

#创建红色窗口 长 500 宽 500 3层色
img_r = np.zeros([500,500,3],np.uint8)
img_r[:,:,2] = np.zeros([500,500],np.uint8)+255



while True:
    x = random.randint(1,255)
    y = random.randint(1,255)
    z = random.randint(1,255)
    img_w_b = np.ones([500,500],np.uint8)*x # 如果写成np.ones([500,500],3)结果是一样的
    img_g[:,:,1] = np.zeros([500,500],np.uint8)+y
    cv.imshow('img_w_b',img_w_b)
    cv.imshow('img',img)
    cv.imshow('img_w',img_w)
    cv.imshow('img_w1',img_w1)
    cv.imshow('img_b',img_b)
    cv.imshow('img_g',img_g)
    cv.imshow('img_r',img_r)
    time.sleep(1)
    if cv.waitKey(1) == ord('q'):
        break

如有不足请补充,如有不对的请更正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸡仔c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值