#计算机视觉#简单的图像增广1-几何变换

1产生随机颜色

思路:提取出彩色图片的3个通道,B,G,R分别进行一个随机颜色的添加,例如随机抽取(-50, 50)之内的数做为颜色变化量,每个像素加入上述随机量;
难点:程序处理超出255范围的像素。
涉及库函数:

random.randint(a,b)     #高斯分布随机整数于(-5050)
list_tar.astype("uint8"/img.dtype)			#强制类型转换
cv2.merge((B,G,R))		#合并图片
B, G, R = cv2.split(img)		#通道分解
def random_light_color(img):
    B, G, R = cv2.split(img)
    b_rand = random.randint(-50, 50)		#获得随机颜色变换
    if b_rand == 0:
        pass
    elif b_rand > 0:
        lim = 255 - b_rand					#设定一个最大的像素值上限,高于这个的默认为255最大值;
        B[B > lim] = 255
        B[B <= lim] = (b_rand + B[B <= lim]).astype(img.dtype)		#小于最大上限的像素单元均加入随机元素
    elif b_rand < 0:
        lim = 0 - b_rand
        B[B < lim] = 0
        B[B >= lim] = (b_rand + B[B >= lim]).astype(img.dtype)
        
    g_rand = random.randint(-50, 50)
    if g_rand == 0:
        pass
    elif g_rand > 0:
        lim = 255 - g_rand
        G[G > lim] = 255
        G[G <= lim] = (g_rand + G[G <= lim]).astype(img.dtype)
    elif g_rand < 0:
        lim = 0 - g_rand
        G[G < lim] = 0
        G[G >= lim] = (g_rand + G[G >= lim]).astype(img.dtype)
        
    r_rand = random.randint(-50, 50)
    if r_rand == 0:
        pass
    elif r_rand > 0:
        lim = 255 - r_rand
        R[R > lim] = 255
        R[R <= lim] = (r_rand + R[R <= lim]).astype(img.dtype)
    elif r_rand < 0:
        lim = 0 - r_rand
        R[R < lim] = 0
        R[R >= lim] = (r_rand + R[R >= lim])<
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值