从4D数组中减去2D数组

时间:2019-08-14 14:11:36

标签: python numpy image-processing

我有一个灰度图像,用2D整数数组表示,形状为(1000,1000)。

然后,我使用WAL end position: 155031288079488 WAL end position: 155031288081016 WAL end position: 155031290703248 WAL end position: 155031291360928 WAL end position: 155031298594232 WAL end position: 155048500184480 WAL end position: 155048501852048 WAL end position: 155048502483744 WAL end position: 155048502495360 WAL end position: 155048503041176 WAL end position: 155048663445952 WAL end position: 155049542590544 WAL end position: 155050592835120 WAL end position: 155052409327592 WAL end position: 155063749581032 WAL end position: 155064127938992 WAL end position: 155065834545224 WAL end position: 155078845385720 WAL end position: 155083517986984 out of memory DETAIL: Cannot enlarge string buffer containing 1073741429 bytes by 412 more bytes. CONTEXT: slot "postgres2", output plugin "wal2json", in the change callback, associated LSN 8D04/B4B5CF18 从该图像生成3x3'补丁'数组,得到形状(1000000、3、3)的数组,因为其中每个像素值有100万个3x3数组原始图像。

我将其重塑为(1000,1000,3,3),这是一个1000x1000的3x3数组,原始图像中每个像素一个3x3数组。

我现在想有效地从4D数组中减去2D数组。我已经找到了一种执行此操作的方法,但是我想使用矢量化方法。

我目前遍历每个像素,并从3x3数组中的相同索引处减去该值。这有点慢。

这是当前加载图像,事先格式化数组然后执行此减法的原因。

sklearn.feature_extraction.image.extract_patches_2d()

我想要一种使用矩阵运算在for循环中执行最后一步的方法。

我还想在某种程度上扩展它以处理RGB图像,从而有效地使其从形状(1000,1000,3,3,的数组中减去形状(1000,1000,3)的数组, 3)。但是我想一次在这里走一步。

任何帮助,提示,建议或指向有用资源的链接都将不胜感激。

0 个答案:

没有答案
相关问题