python--python实现switch语句的一种实现

文章目录

前言

有个需求时写一个函数,传入flag,flag 是up就裁减图片上部分,down就裁下部分,左右同理。。。当然,使用if elif完全没问题,这里仅仅是记录自己的折腾,直接上代码

code

%matplotlib inline
import cv2
import matplotlib.pyplot as plt
def get_template_frames(flag:str,frame:'np.array',roi_rate=0.5) -> 'np.array':
    return {'U': lambda frame,roi_rate:frame[:int(roi_rate*frame.shape[0]),:,:],
            'D': lambda frame,roi_rate:frame[(frame.shape[0]-int(roi_rate*frame.shape[0])):,:,:],
            'L': lambda frame,roi_rate:frame[:,:int(roi_rate*frame.shape[1]),:],
            'R': lambda frame,roi_rate:frame[:,frame.shape[1]-int(roi_rate*frame.shape[1]):,:],
            }.get(flag,frame)(frame,roi_rate)

frame=cv2.imread('/home/chiebotgpuhq/MyCode/test.jpeg')
plt.imshow(frame)
<matplotlib.image.AxesImage at 0x7f6ddb6ca7d0>

在这里插入图片描述

frame=get_template_frames('L',frame)
# plt.imshow(frame)
print(type(frame))
plt.imshow(frame)
<class 'numpy.ndarray'>
<matplotlib.image.AxesImage at 0x7f6ddb6b4190>

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值