OpenCV开发教程之图像特效(模糊、轮廓、浮雕、锐化)

10人浏览 / 0人评论 / 添加收藏

今天小编主要讲解如何用OpenCV处理图片,处理模糊、轮廓、浮雕和锐化的效果。

1、模糊效果

#OpenCV图像卷积操作
import cv2
import numpy as np
from opencv_jupyter_ui import cv2_imshow
#导入图片
img = cv2.imread('./images/dog.png')
#卷积核
#相当于原始图片中的每个点都被平均了一下,所以图像变模糊了.
kernel = np.ones((5, 5), np.float32) / 25
dst = cv2.filter2D(img, -1, kernel)
#很明显卷积之后的图片模糊了
cv2_imshow('img', np.hstack((img, dst)))

2、突出轮廓效果
import cv2
import numpy as np
from opencv_jupyter_ui import cv2_imshow
#导入图片
img = cv2.imread('./images/dog.png')
#其他卷积核,突出轮廓

kernel = np.array([[-3, 0, 3],[-10, 0, 10],[-3, 0, 3]], np.float32)
dst = cv2.filter2D(img, -1, kernel)
cv2_imshow('img', np.hstack((img, dst)))

3、浮雕效果

import cv2
import numpy as np
from opencv_jupyter_ui import cv2_imshow
#导入图片
img = cv2.imread('./images/dog.png')

#浮雕效果
kernel = np.array([[-1, -1, 0],[-1,  0, 1], [ 0,  1, 1]], np.float32)
dst = cv2.filter2D(img, -1, kernel)
cv2_imshow('img', np.hstack((img, dst)))

4、锐化效果

import cv2
import numpy as np
from opencv_jupyter_ui import cv2_imshow
#导入图片
img = cv2.imread('./images/dog.png')

#锐化
kernel = np.array([[0, -1, 0], [-1, 5, -1], [0, -1, 0]], np.float32)
dst = cv2.filter2D(img, -1, kernel)
cv2_imshow('img', np.hstack((img, dst)))

全部评论