所以在没有在stackoverflow上找到我的问题之后,就是如何将for循环重写为列表解析,其中插入了值,我现在要问是否可以重写这段代码:
rotate = np.zeros((w,h,c), np.uint8) # create an empty image filled with zeros turned 90°
for y in xrange(h):
for x in xrange(w):
rotate[x][y] = img[y][x]
进入列表理解?我认为这样的事情会起作用,但它并没有:
rotate[x][y] = img[y][x] for y in range(h) for x in range(w)
之后我只是使用了添加索引和括号的各种组合,我总是遇到一些语法错误。仅仅为了记录,我知道在opencv和numpy中有旋转图像的功能,我只是想将for循环重写为列表理解。
答案 0 :(得分:3)
rotate = np.array([[img[y][x] for y in xrange(h)] for x in xrange(w)])