OpenCV 图像暗角
时间: 2023-12-28 18:05:05 浏览: 216
OpenCV中可以通过添加暗角(vignette)的方法来使图像看起来更加吸引人。暗角是指图像边缘比中央区域更暗的效果。
以下是一个简单的例子:
```python
import cv2
import numpy as np
def add_vignette(img):
rows, cols = img.shape[:2]
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)
output = np.copy(img)
for i in range(3):
output[:,:,i] = output[:,:,i] * mask
return output
# 读取图像
img = cv2.imread('test.jpg')
# 添加暗角
img_with_vignette = add_vignette(img)
# 显示图像
cv2.imshow('Original', img)
cv2.imshow('Vignette', img_with_vignette)
cv2.waitKey()
cv2.destroyAllWindows()
```
在这个例子中,我们使用高斯内核来创建一个掩模(mask),然后将其应用于原始图像的每个通道。通过调整内核大小和标准差,可以控制暗角的大小和强度。
注意,这个例子只是一个简单的示例,实际应用中可能需要根据具体情况进行调整。