用opencv实现图像卡通化
时间: 2023-11-14 13:55:53 浏览: 137
图像卡通化是将一张普通的图片转化为卡通风格的图片,可以使用OpenCV来实现。以下是一个简单的示例代码:
```python
import cv2
# 读取原始图片
img = cv2.imread("input.jpg")
# 将图像进行双边滤波,增强边缘信息
img = cv2.bilateralFilter(img, 9, 75, 75)
# 将图像转换为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 进行边缘检测,获取边缘信息
edges = cv2.Canny(gray, 30, 150)
# 将边缘信息进行二值化
ret, thresh = cv2.threshold(edges, 127, 255, cv2.THRESH_BINARY_INV)
# 进行膨胀操作,增强黑色轮廓
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))
thresh = cv2.dilate(thresh, kernel, iterations=1)
# 将原始图像与二值化后的图像进行相应处理,生成卡通风格图片
cartoon = cv2.bitwise_and(img, img, mask=thresh)
# 显示卡通风格图片
cv2.imshow("Cartoonize", cartoon)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码使用了双边滤波、灰度转换、边缘检测、二值化、膨胀等操作,通过处理生成卡通风格图片。可以根据实际需求进行调整和优化。
阅读全文