python将图片变成油画
时间: 2023-06-10 15:07:54 浏览: 53
你可以使用 OpenCV 库将图片转换为油画风格。以下是一个简单的示例代码:
```python
import cv2
# 读取图片
img = cv2.imread('image.jpg')
# 转换为油画风格
img_oil = cv2.xphoto.oilPainting(img, 7, 1)
# 显示原图和油画风格图像
cv2.imshow('Original Image', img)
cv2.imshow('Oil Painting', img_oil)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`cv2.xphoto.oilPainting()` 函数将图像转换为油画风格,第二个参数是半径大小,第三个参数是强度。你可以根据需要调整这两个参数,以获得不同的效果。
相关问题
python将图片变成油画,不用xphoto
可以使用OpenCV库中的cv2.stylization()函数将图片转换为油画效果。该函数接受以下参数:
- src:待处理的原始图像
- dst:输出的结果图像
- sigma_s:控制空间域的高斯核大小,默认值为60
- sigma_r:控制色彩域的高斯核大小,默认值为0.07
- shade_factor:控制阴影效果的强度,默认值为0.02
- texture_factor:控制纹理效果的强度,默认值为0.03
- iterations:重复应用滤波器的次数,默认值为1
以下是使用cv2.stylization()函数将图片转换为油画的示例代码:
```python
import cv2
# 读取原始图像
img = cv2.imread('input.jpg')
# 将原始图像转换为油画效果
dst = cv2.stylization(img, sigma_s=60, sigma_r=0.07)
# 显示结果图像
cv2.imshow('Oil Painting', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
注意:该函数需要OpenCV的版本在4.1.0及以上才支持。如果你的OpenCV版本比较低,可以考虑升级到最新版本。
python opencv将图片油画化
要实现图片油画化,可以使用OpenCV库的cv2.ximgproc模块中的stylization函数。下面是一个简单的代码示例:
```python
import cv2
img = cv2.imread('image.jpg')
# 将图像转换为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 进行油画化处理
dst = cv2.ximgproc.stylization(gray, sigma_s=60, sigma_r=0.07)
cv2.imshow('Original Image', img)
cv2.imshow('Oil Painting Style Image', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,我们首先读取了一张图片,并将其转换为灰度图。然后使用stylization函数对灰度图进行油画化处理。其中,sigma_s和sigma_r是两个控制油画风格的参数,可以根据需要进行调整。最后,使用imshow函数将原始图像和油画风格的图像显示出来。