首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >制作图像数组的副本意味着什么?

制作图像数组的副本意味着什么?
EN

Stack Overflow用户
提问于 2015-03-22 15:08:19
回答 2查看 113关注 0票数 0

我需要找到每个像素的局部平均值--即特定像素及其周围8个像素的平均值,以模糊图像。有人暗示我需要制作图像数组的副本。

制作图像数组的副本意味着什么?另外,我如何表明我想要周围的像素?如果我想要找出一个像素的平均红色值,我会使用下面的表达式:

代码语言:javascript
运行
复制
im[row][col][0] = sum(im[row][col][0],im[row-1][col][0],im[row+1][col][0],im[row][col-1][0],im[row][col+1][0],im[row-1][col+1][0],im[row+1][col+1][0],im[row-1][col-1][0],im[row+1][col-1][0])/9
EN

回答 2

Stack Overflow用户

发布于 2015-03-22 15:14:34

制作一份拷贝只意味着做一些类似的事情:

代码语言:javascript
运行
复制
from copy import deepcopy

im_avg = deepcopy(im)

这意味着您可以进行计算并将结果保存到不同的数据结构中,以便原始值保留下来,以便在计算其他像素时使用。您需要使用deepcopy而不只是copy或im[:],因为它看起来您的图像是一组嵌套列表,在这种情况下,浅层复制不会完全隔离新的值集。

使用这种方法,您可以使用im_avg来存储平均值,而不是使用原始im来计算它们。

您拥有的用于平均计算的表达式看起来很合理,尽管您可以查看标准itertools模块来帮助简化它(如果您选择这样做)。

票数 1
EN

Stack Overflow用户

发布于 2015-03-22 15:15:01

可能建议制作图像数组的副本,以确保在计算本地平均值时不会修改原始图像数组。

从技术上讲,您不需要制作数组的副本,因为您可以创建一个与图像数组大小相同的新空白数组,并用值填充它。

从周围的3x3网格计算平均红色值的逻辑是正确的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29191882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档