最近做这东西就记录下,方便其他人直接照搬
https://www.educoder.net/tasks/motjur2fwpyk
平台会对你编写的代码进行测试。你只需按要求完成get_roi(data, x, y, w, h)函数即可。其中:
data:待提取ROI的原始图像数据(其实就是个二维数组),类型为ndarray;
x: ROI的左上角顶点的行索引,类型为int;
y: ROI的左上角顶点的列索引,类型为int;
w: ROI的宽,类型为int;
h: ROI的高,类型为int。
测试用例是一个字典,字典中image部分表示原始图像的像素数据,x部分表示ROI的左上角顶点的行索引,y部分表示ROI的左上角顶点的列索引,w部分表示ROI的宽,h部分表示ROI的高。
测试输入:
{‘image’:[[1, 2, 255, 255, 0], [255, 255, 0, 0, 3]], ‘x’:0, ‘y’:1, ‘w’:2, ‘h’:1}
预期输出:
[[ 2 255 255] [255 0 0]]
开始你的任务吧,祝你成功!
import numpy as np
def get_roi(data, x, y, w, h):
'''
提取data中左上角顶点坐标为(x, y)宽为w高为h的ROI
:param data: 二维数组,类型为ndarray
:param x: ROI左上角顶点的行索引,类型为int
:param y: ROI左上角顶点的列索引,类型为int
:param w: ROI的宽,类型为int
:param h: ROI的高,类型为int
:return: ROI,类型为ndarray
'''
#********* Begin *********#
return data[x:x+h+1, y:y+w+1]
#********* End *********#