python像素比较_在Python中为图像中的每个像素选择7 * 7个相邻像素的最快方法

该博客探讨了一种针对大量图像进行像素邻域处理的方法。作者通过使用numpy和scipy库,尝试为每个像素选取7*7邻域并重塑为(1,147)数组,但在处理2000张图片时,该方法耗时过长。文章寻求一种更快的迭代方式来加速这个过程,以便于大规模图像数据的预处理。
摘要由CSDN通过智能技术生成

需要将图像作为数组读取,并为每个像素选择7 * 7个相邻像素,然后重新整形并作为第一行训练集:

import numpy as np

from scipy import misc

face1=misc.imread('face1.jpg')

face1尺寸为(288,352,3),需要为每个像素找到7 * 7个相邻像素,所以49 * 3颜色然后将其重新整形为(1,147)数组并将其堆叠成所有像素的数组,我拿了以下方法:

X_training=np.zeros([1,147] ,dtype=np.uint8)

for i in range(3, face1.shape[0]-3):

for j in range(3, face1.shape[1]-3):

block=face1[i-3:i+4,j-3:j+4]

pxl=np.reshape(block,(1,147))

X_training=np.vstack((pxl,X_training))

得到的X_training形状是(97572,147)

并且最后一行包含全部为零:

a = len(X_training)-1

X_training = X_training[:a]

上面的代码适用于一张图片,但壁画时间:5分钟19秒我有2000张图片,因此所有图片都需要很长时间.我正在寻找一种更快的方法来迭代每个像素并执行上述任务.

编辑:

这就是我所说的邻居像素,对于每个像素face1 [i-3:i 4,j-3:j 4]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值