Python - 对2D阵列中的每个元素执行操作并将其存储在新的2D阵列中

时间:2018-04-11 04:11:54

标签: python arrays python-3.x numpy opencv

我通过读取灰度图像来获得2D数组。

image = cv2.imread('hurricane katrina 1.jpg', cv2.IMREAD_GRAYSCALE)

我想对2D数组中的每个元素执行操作,并将其存储在另一个2d数组中。所以我做了以下命令:

R = 255 * abs(math.sin(b * image))

它会抛出错误。

Traceback (most recent call last):
File "C:/Users/alyss/AppData/Local/Programs/Python/Python36/Exercise#4_2.py", line 25, in <module>
R = 255 * abs(math.sin(b * image))
TypeError: only size-1 arrays can be converted to Python scalars

我知道有一种简单的方法可以在没有循环的情况下在Python中完成它。我该怎么做?

1 个答案:

答案 0 :(得分:2)

  

我想对2D数组中的每个元素执行操作,并将其存储在另一个2d数组中。

使用NumPy库在N-D阵列上执行操作。

编辑: 这是一段代码片段。

255 * numpy.absolute(numpy.sin(b * image))