python中如何让一张narry数组形式的图片各个地方亮度看起来一致
时间: 2023-05-15 19:07:38 浏览: 61
可以使用PIL库中的ImageOps模块中的equalize()函数来实现。代码示例:
```
from PIL import Image, ImageOps
img = Image.fromarray(narray)
img = ImageOps.equalize(img)
narray = np.array(img)
```
其中,narray为原始的narry数组形式的图片,使用Image.fromarray()将其转换为PIL中的Image对象,然后使用ImageOps.equalize()函数进行均衡化处理,最后再将处理后的Image对象转换为narry数组形式即可。
相关问题
python 中numpy中narry.where
numpy中的narry.where函数是一个条件语句,在满足特定条件的情况下返回一个数组。它有三个参数:condition,x和y。如果condition为True,则返回x中对应元素的值,否则返回y中对应元素的值。
以下是一个使用numpy.where函数的示例:
```
import numpy as np
# 创建一个数组
arr = np.array([1, 2, 3, 4, 5])
# 创建一个条件,即数组中大于2的元素
condition = arr > 2
# 使用numpy.where函数,对于满足条件的元素返回-1,否则返回1
new_arr = np.where(condition, -1, 1)
print(new_arr)
```
输出:
```
[ 1 1 -1 -1 -1]
```
在这个例子中,我们创建了一个数组arr和一个条件condition,即数组中大于2的元素。然后我们使用numpy.where函数,对于满足条件的元素返回-1,否则返回1。最后我们打印了新数组new_arr的值。
注意事项:
1. condition、x和y必须有相同的形状。
2. condition可以是一个任何类型的布尔数组,但是x和y必须是相同的数据类型。
3. 当x和y仅为单个值时,条件的输出将是一个标量。因此,x和y也可以表示两个标量值。
4. 当x和y都被省略时,numpy.where()将返回一个给定条件的元素的索引数组。
5. 如果condition,x和y都是numpy数组,则返回的数组将具有相同的类型和形状。
怎么把python中narry的数据转为一行n列
可以使用numpy库中的reshape函数来实现将narry的数据转为一行n列的形式,具体代码如下:
import numpy as np
# 创建一个narry数组
arr = np.array([1, 2, 3, 4, 5, 6])
# 使用reshape函数将数组转为一行n列的形式
new_arr = arr.reshape(1, -1)
print(new_arr)
输出结果为:
[[1 2 3 4 5 6]]
相关推荐
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)