基本要求:读入、显示图像njupt.jpg,将图像100-200行,200-300列的图像区域变成红色的python代码
时间: 2024-10-11 17:07:00 浏览: 9
你可以使用Python的PIL库来读取和操作图像。以下是满足你要求的代码:
```python
from PIL import Image
# 打开图像文件
img = Image.open('njupt.jpg')
# 获取图像尺寸
width, height = img.size
# 计算需要处理的区域范围 (这里是200-300列,100-200行)
start_row = 100
end_row = 200
start_col = 200
end_col = 300
# 创建一个新的Image对象,用于保存处理后的部分
red_part = Image.new('RGB', (end_col - start_col, end_row - start_row), 'white') # 白色背景,因为我们要在上面画红颜色
# 使用剪裁功能获取指定区域
crop_img = img.crop((start_col, start_row, end_col, end_row))
# 将剪裁的图片转换为红色并合并到原图上
red_crop = crop_img.convert('RGBA')
red_part.paste(red_crop, box=(0, 0), mask=red_crop.split()[3]) # 使用alpha通道作为掩码
# 写回原图的对应位置
img.putalpha(img.getchannel('A')) # 清除原有透明度信息
img.paste(red_part, (start_col, start_row), red_part) # 把红色部分放回去
# 保存修改后的图像
img.save('njupt_modified.jpg')
阅读全文