利用jupyter对图像进行全局线性灰度变换增亮,并绘制全局线性灰度变换函数图
时间: 2024-05-03 18:16:35 浏览: 17
首先,我们需要导入必要的库:matplotlib.pyplot和numpy。
```python
import matplotlib.pyplot as plt
import numpy as np
```
接下来,我们可以读取一张图片并显示它。
```python
img = plt.imread('image.jpg')
plt.imshow(img)
```
然后,我们可以将图像转换为灰度图像。
```python
gray = np.dot(img[...,:3], [0.2989, 0.5870, 0.1140])
plt.imshow(gray, cmap='gray')
```
现在,我们可以定义一个全局线性灰度变换函数,它将像素值从[0, 255]的范围映射到[0, 1]的范围。
```python
def linear_transform(img, a, b):
return np.clip(a * img + b, 0, 1)
```
其中,a是斜率,b是截距。我们可以选择适当的a和b值来增亮图像。例如,a = 1.5,b = -0.2将使图像变亮。
```python
a = 1.5
b = -0.2
brightened = linear_transform(gray, a, b)
plt.imshow(brightened, cmap='gray')
```
最后,我们可以绘制全局线性灰度变换函数的图像。
```python
x = np.linspace(0, 1, num=256)
y = linear_transform(x, a, b)
plt.plot(x, y)
plt.xlabel('Input Intensity')
plt.ylabel('Output Intensity')
plt.show()
```
完整代码如下:
```python
import matplotlib.pyplot as plt
import numpy as np
# Load image
img = plt.imread('image.jpg')
plt.imshow(img)
# Convert to grayscale
gray = np.dot(img[...,:3], [0.2989, 0.5870, 0.1140])
plt.imshow(gray, cmap='gray')
# Define linear transformation function
def linear_transform(img, a, b):
return np.clip(a * img + b, 0, 1)
# Brighten image
a = 1.5
b = -0.2
brightened = linear_transform(gray, a, b)
plt.imshow(brightened, cmap='gray')
# Plot linear transformation function
x = np.linspace(0, 1, num=256)
y = linear_transform(x, a, b)
plt.plot(x, y)
plt.xlabel('Input Intensity')
plt.ylabel('Output Intensity')
plt.show()
```
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)
![](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)
![](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)
![](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)
![](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)