使用python给图片加复古滤镜,给出详细的实现代码
时间: 2023-06-06 08:08:01 浏览: 269
下面是给图片加复古滤镜的Python代码实现:
```python
import cv2
def apply_vintage_filter(img):
# 转换成灰度图像
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 应用高斯模糊
blurred_img = cv2.GaussianBlur(gray_img, (15, 15), 0)
# 应用边缘检测,增强图像轮廓
edged_img = cv2.Canny(blurred_img, 30, 50)
# 应用二值化
thresh = cv2.threshold(edged_img, 200, 255, cv2.THRESH_BINARY_INV)[1]
# 应用色彩映射
colormap = cv2.applyColorMap(img, cv2.COLORMAP_WINTER)
# 应用掩膜
filtered_img = cv2.bitwise_and(colormap, colormap, mask=thresh)
# 创建混合图像
dst = cv2.addWeighted(img, 0.5, filtered_img, 0.5, 0)
return dst
# 测试代码
img = cv2.imread("image.jpg")
vintage_img = apply_vintage_filter(img)
cv2.imshow("Vintage Filtered Image", vintage_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
注意:以上代码实现仅供参考,实际效果可能因图片质量、灯光等因素有所偏差。
阅读全文