图片变成油画的python程序
时间: 2023-06-10 12:09:17 浏览: 102
基于python实现把图片转换成素描
可以使用OpenCV库和Python实现图片变成油画的效果。下面是一个简单的代码示例:
```python
import cv2
# 读取图片
img = cv2.imread('image.jpg')
# 将图片转换为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 对灰度图进行中值滤波
gray_blur = cv2.medianBlur(gray, 5)
# 检测边缘
edges = cv2.adaptiveThreshold(gray_blur, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 9, 9)
# 应用彩色转换
color = cv2.bilateralFilter(img, 9, 300, 300)
# 合并边缘和彩色图像
cartoon = cv2.bitwise_and(color, color, mask=edges)
# 显示结果
cv2.imshow("Image", img)
cv2.imshow("Cartoon", cartoon)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例中,我们首先使用`cv2.imread`函数读取一张图片,然后将其转换为灰度图。接下来,我们对灰度图进行中值滤波,以平滑图像,并使用`cv2.adaptiveThreshold`函数检测边缘。然后,我们使用`cv2.bilateralFilter`函数对彩色图像进行模糊处理,以减少图像噪声。最后,我们使用`cv2.bitwise_and`函数将边缘和彩色图像合并。最终的结果将在窗口中显示。
需要注意的是,这只是一个简单的示例代码,你可以根据自己的需求进行调整和优化。
阅读全文