什么是图像滤镜?
图像滤镜是一种方法或过程,通过它可以修改图像的颜色、阴影、色调、饱和度、纹理和其他特征。滤镜用于根据商业、艺术或审美需要在视觉上修改图像。
如今,图像滤镜在社交媒体中非常普遍。Instagram 有各种各样的滤镜,Facebook 也是如此。Picsart 等编辑应用程序也提供了许多滤镜。滤镜可以为图像提供新的视觉效果并使其看起来不同。人们使用滤镜为他们的照片提供他们想要的效果。
这里OpenCV有什么用?
OpenCV 是一个免费使用的 Python 库,可用于计算机视觉任务。它具有许多功能和方法,可用于执行各种任务。我将应用一些图像转换方法来获取滤镜并创建所需的效果。
让我们继续进行所需的导入。
import cv2
import numpy as np
import scipy
我们将主要需要 NumPy 和 OpenCV,稍后将需要 SciPy。
现在让我们阅读图像文件。
这是我们将要使用的图像文件。
#Read the image
image = cv2.imread('shop.jpg')
现在,我们可以继续实现滤镜。
灰度滤镜
我们从实现最基本和最广泛使用的滤镜开始。
灰度滤镜用于为图像提供黑白效果。基本上去除了图像中的彩色成分。我们将使用 cv2.cvtColor()将图像转换为灰度。
#greyscale filter
def greyscale(img):
greyscale = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
return greyscale
现在,将该函数应用于我们的图像。
#making the greyscale image
a1 = greyscale(image)
现在,我们将图像保存为文件。
filename = 'greyscale.jpg'
# Using cv2.imwrite() method
# Saving the image
cv2.imwrite(filename, a1)
输出:
因此,我们可以看到图像已成功转换为灰度。接下来,让我们尝试另一个。
亮度调节
通常,我们看到滤镜使图像更亮,而其他滤镜会降低亮度。这些是亮度调整滤镜的结果。为此,我们将使用 cv2.convertScaleAbs()。可以更改 Beta 值以获得适当的结果。
# brightness adjustment
def bright(img, beta_value ):
img_bright = cv2.convertScaleAbs(img, beta=beta_value)
return img_bright
函数已定义,现在 beta 值将给出适当的结果。正值表示图像较亮,负值表示图像较暗。
#making the more bright image
#positive beta value
a2 = bright(image, 60)
现在,我