用python程序使用自己的一张照片,变换光照角度,生成一张手绘画
时间: 2024-06-09 09:12:11 浏览: 106
可以使用Python中的OpenCV和Pillow库来实现这个功能。下面是一个简单的代码示例,可以实现将一张照片变成手绘画。
首先,需要安装OpenCV和Pillow库:
```
pip install opencv-python
pip install Pillow
```
然后,可以使用以下代码实现将照片变成手绘画:
```python
import cv2
from PIL import Image
# 读取图片
img = cv2.imread('your_image.jpg')
# 转化为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 检测边缘
edges = cv2.Canny(gray, 100, 200)
# 模糊处理
blurred = cv2.GaussianBlur(edges, (5, 5), 0)
# 将图像反色
invert = cv2.bitwise_not(blurred)
# 转化为PIL Image对象
pil_img = Image.fromarray(invert)
# 手绘效果
pencil_img = pil_img.filter(ImageFilter.CONTOUR).convert('L')
# 保存手绘图片
pencil_img.save('pencil_image.jpg')
```
这个代码会将指定路径下的图片读入,然后进行灰度化、边缘检测、模糊处理、反色等步骤,最后生成一张手绘画并保存到指定路径下。你可以根据自己的需要调整参数以及添加更多的图像处理步骤来实现更丰富的效果。
阅读全文