当前位置:首页 > python > 正文

用python画梵高星空

  • python
  • 2024-05-13 10:01:39
  • 5964

引言
梵高的《星空》是一幅标志性的杰作,其充满活力的笔触和令人敬畏的色彩展现了这位后印象派大师的想象力。 本文将介绍如何使用 Python 及其强大的图像处理库绘制出具有梵高风格的星空。
库安装和导入
首先,需要安装 OpenCV 和 Pillow 库。 可以使用以下命令:
bash
pip install opencv-python
pip install Pillow
导入必要的库:
python
import cv2
from PIL import Image, ImageFilter
创建背景
创建一个黑色画布作为星空的背景:
python
canvas = np.zeros((height, width, 3), np.uint8)
canvas[:] = (0, 0, 0)
生成星星
使用 OpenCV 生成噪声点作为星星:
python
stars = cv2.randu(canvas, 0, 255)
模糊星星
应用高斯模糊使星星看起来柔和而发光:
python
stars = cv2.GaussianBlur(stars, (0, 0), 10)
合并星星和背景
将星星与背景画布合并:
python
canvas = cv2.addWeighted(canvas, 1, stars, 0.5, 0)
添加笔触
使用 Pillow 库的过滤器创建梵高风格的笔触:
python
image = Image.fromarray(canvas)
image = image.filter(ImageFilter.GaussianBlur(sigma=1))
保存图像
将最终图像保存为文件:
python
image.save('starry_night.jpg')
结论
按照本文中的步骤,你可以使用 Python 创建出具有梵高风格的星空。 通过调整参数和添加其他功能,你可以进一步定制图像,创造出独一无二的作品。