【发布时间】:2016-11-09 23:24:12
【问题描述】:
我正在使用代码列出具有重要信息的图像像素以供以后使用 - 红色、绿色、蓝色、X、Y。
import numpy as np
from scipy.misc import imread
im = imread("image.jpg")
indices = np.dstack(np.indices((im.shape[:2])))
data = np.concatenate((im, indices), axis=-1)
print data
打印数据:
R G B X Y
[[[237 233 234 0 0]
[235 231 232 0 1]
[243 234 237 0 2]
...,
[236 232 233 0 507]
[233 229 230 0 508]
[236 232 233 0 509]]
但它打印整个图像数据,而不是块。如何以 2x2 块的形式获取这些数据,块中的 4 个像素信息?像这样:
R G B X Y
[[[237 233 234 0 0]
[235 231 232 0 1]
[243 234 237 0 2]
[243 234 257 0 3]]
【问题讨论】:
-
2x2 块具有以下索引 X = [0, 0, 1, 1],Y = [0, 1, 1, 0]。而不是你提到的
-
或者 X = [0, 0, 1, 1], Y = [0, 1, 0, 1]
-
而且输出是 4d,因为图像中的每个 2x2 块都有 4x5 矩阵。
标签: python numpy image-processing scipy