不知道你有沒有使用過Instagram濾鏡,它們非常方便,只需單擊幾個按鈕,就可以變換我要發布的照片。
你是否想過自己可以創建一個?答案是可以的!
在本文中,我將向你展示如何使用代碼和示例圖像來創建一些圖像處理濾鏡。
如果尚未安裝以下python庫,則需要安裝它:
opencv-python
matplotlib
numpy
模糊濾鏡
import cv2
import matplotlib.pyplot as plt
im = cv2.imread('input-image.jpg')
dst = cv2.GaussianBlur(im,(5,5),cv2.BORDER_DEFAULT)
plt.imshow(dst)
plt.show()
邊緣檢測濾鏡
import cv2
import matplotlib.pyplot as plt
im = cv2.imread('input-image.jpg')
edges = cv2.Canny(im,100,300)
plt.imshow(edges)
plt.show()
復古風濾鏡
import cv2
import numpy as np
from matplotlib import pyplot as plt
im = cv2.imread('input-image.jpg')
rows, cols = im.shape[:2]
# 創建高斯濾波器
kernel_x = cv2.getGaussianKernel(cols,200)
kernel_y = cv2.getGaussianKernel(rows,200)
kernel = kernel_y * kernel_x.T
filter = 255 * kernel / np.linalg.norm(kernel)
vintage_im = np.copy(im)
# 對於輸入圖像中的每個通道,我們將應用上述濾波器
for i in range(3):
vintage_im[:,:,i] = vintage_im[:,:,i] * filter
plt.imshow(vintage_im)
plt.show()
以上就是使用Python和OpenCV進行圖像處理的代碼示例。
你最喜歡哪個濾鏡?在下面留下你的想法作為評論。
資源
- OpenCV[1]
[1]: https://opencv.org/