OpenCV-Python系列·第十四集:图像渐晕

版权声明:本文为博主原创文章,未经博主允许不得转载。若有任何问题,请联系QQ:575925154(加好友时,请备注:CSDN) https://blog.csdn.net/Miracle0_0/article/details/82052715

Tip:关键是高斯核。

# -*- coding: utf-8 -*-
"""
Created on Sat Aug 25 16:10:01 2018

@author: Miracle
"""

import cv2
import numpy as np

image = cv2.imread('../data/lena.jpg')
rows,cols,channel = image.shape
#定义卷积核
kernel_x = cv2.getGaussianKernel(cols,200)
kernel_y = cv2.getGaussianKernel(rows,200)
kernel = kernel_y * kernel_x.T#转置
#定义掩模
mask = 255*kernel/np.linalg.norm(kernel)
#复制一个同样的image
output = np.copy(image)
#每一个通道都用掩模作用一次
for i in range(channel):
    output[:,:,i] = output[:,:,i]*mask
#显示效果
cv2.imshow('Original Image',image)
cv2.imshow('Vignette filter',output)
#停顿
if cv2.waitKey() & 0xFF == 27:
    cv2.destroyAllWindows()

猜你喜欢

转载自blog.csdn.net/Miracle0_0/article/details/82052715
今日推荐