python图片矢量化_图像处理tas的Python矢量化

我在用python3(这个特定任务的NumPy)自学彩色图像处理。在

我有一个3d张量,代表图像中每个像素的RGB值,所以它的形状是(高,宽,3)。在每个像素处,我要生成新的RGB值,这些值是给定像素处原始RGB值的线性组合。我将通过将每个像素处的RGB向量乘以3x3权重矩阵来实现这一点。在

我可以用嵌套的for循环来完成这一点,但速度很慢:newRGB = np.zeros((height,width,3)) #make empty array to update with RGB values

for i in range(height):

for j in range(width):

RGB = image[i,j,:] #RGB vector at given pixel with size 3 since is [R,G,B]

new = np.dot(W,RGB) #W is 3x3 matrix of weights

newRGB[i,j,:] = new #put new RGB values into the empty matrix

或者,更快的矢量化方法是:

^{pr2}$

是吗?是否有一种不那么麻烦的方法来完成此操作,例如使用纽比·坦索多特() ? 在

是吗?或者,既然我是采用RGB值的线性组合,我可以创建某种3D线性滤波器,并通过在FFT空间中进行简单的元素乘法将其与图像卷积吗?在

现在我的图像大约是1000x1000像素,所以RGB数组的形状大致是(10001000,3)。但我也对向量化的其他应用感兴趣,这些应用可能有更大的数组(或更高的维度),因此,与更大的数组大小和维度相关的答案也值得赞赏。在

非常感谢你的建议,我真的很感激。在

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值