import matplotlib.pyplot as plt import matplotlib.image as mping import numpy as np from PIL import Image img_path = "D:/作业/兵马俑.jpg" gray_img = Image.open(img_path).convert("L") # 转为灰度图 gray_array = np.array(gray_img) plt.figure(1) plt.imshow(gray_img, cmap='gray') a = gray_array.shape[0] b = gray_array.shape[1] img2 = np.ones((a, b), dtype=np.uint8) * 255 img2[:, :b//2] = gray_img[:, :b//2] img2[:, b//2:] = 255 plt.figure(2) plt.imshow(img2, cmap='gray') img3 = np.ones((a, b), dtype=np.uint8) * 255 img3[:, :b//2] = gray_img[:, :b//2] img3[:, b//2:] = np.fliplr(gray_img[:, :b//2]) plt.figure(3) plt.imshow(img3, cmap='gray')错误如下:TypeError: 'Image' object is not subscriptable请修改
时间: 2023-07-15 10:14:06 浏览: 89
将代码中的 `gray_img[:, :b//2]` 和 `gray_img[:, :b//2]` 修改为 `gray_array[:, :b//2]` 和 `gray_array[:, b//2:]` 即可,因为 `Image` 对象不支持切片操作,需要将其转换为 `numpy` 数组进行处理。修改后的代码如下:
```
import matplotlib.pyplot as plt
import matplotlib.image as mping
import numpy as np
from PIL import Image
img_path = "D:/作业/兵马俑.jpg"
gray_img = Image.open(img_path).convert("L") # 转为灰度图
gray_array = np.array(gray_img)
plt.figure(1)
plt.imshow(gray_img, cmap='gray')
a = gray_array.shape[0]
b = gray_array.shape[1]
img2 = np.ones((a, b), dtype=np.uint8) * 255
img2[:, :b//2] = gray_array[:, :b//2]
img2[:, b//2:] = 255
plt.figure(2)
plt.imshow(img2, cmap='gray')
img3 = np.ones((a, b), dtype=np.uint8) * 255
img3[:, :b//2] = gray_array[:, :b//2]
img3[:, b//2:] = np.fliplr(gray_array[:, :b//2])
plt.figure(3)
plt.imshow(img3, cmap='gray')
```
相关推荐
![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)
![](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)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)