照片转动漫 python
时间: 2023-10-24 19:06:24 浏览: 47
将照片转化为漫画风格通常需要进行多个步骤,包括边缘检测、颜色分离和应用卡通化滤镜等。下面是一个使用Python实现的基本流程:
1. 使用OpenCV库中的Canny边缘检测算法对原始图像进行边缘检测。
```python
import cv2
img = cv2.imread('input.jpg')
edges = cv2.Canny(img, 100, 200)
```
2. 对边缘检测结果进行颜色分离,将彩色图像转化为灰度图像。
```python
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
```
3. 对灰度图像进行卡通化滤镜处理,可以使用双边滤波算法实现。
```python
cartoon = cv2.stylization(img, sigma_s=150, sigma_r=0.25)
```
4. 将卡通化滤镜处理后的图像与边缘检测结果进行混合,得到最终的漫画风格图像。
```python
cartoon = cv2.bitwise_and(cartoon, cartoon, mask=edges)
```
完整代码如下:
```python
import cv2
img = cv2.imread('input.jpg')
edges = cv2.Canny(img, 100, 200)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cartoon = cv2.stylization(img, sigma_s=150, sigma_r=0.25)
cartoon = cv2.bitwise_and(cartoon, cartoon, mask=edges)
cv2.imwrite('output.jpg', cartoon)
```
希望能对你有所帮助!