计算机对图片的处理,不同于生物的信息传递。
它的本质工作:对数据进行运算或处理
所以为了方便计算机处理,我们将图片进行简化(彩色图片转灰度)
这里我用到了numpy.copy()这一函数
// copy原图片
numpy.copy('test_image.jpg')
这里用到了opencv库中的cvtColor()函数
// 函数相关参数
目标图片名称 = cv2.cvtColor(src, code)
这一函数用来实现图像进行色彩空间转换
注意:opencv的色彩通道默认BGR
第二个参数,设计转换的代码,网上有相关说明
我们此处转换灰度用到的是
cv2.cvtColor(lane_image, cv2.COLOR_RGB2GRAY)
第一个参数lane_image就是我们前一步copy原图像所得到的数据,在它的基础上我进行了转灰度的操作
#转灰度
import cv2
import numpy as np
image = cv2.imread('test_image.jpg')
lane_image = np.copy(image)
gray = cv2.cvtColor(lane_image, cv2.COLOR_RGB2GRAY)
cv2.imshow("result", gray)
cv2.waitKey(0)
这组文档意义在于实现一个边缘检测
在边缘检测中,降噪就相当于对图片,进行一个平滑处理
使得尖锐的噪点不至于影响到边缘识别算法对图像边缘的判断
(我对其他方面噪点的影响其实不是太了解,如果看到这篇文章的你们了解更多方面的话,也很希望能不吝赐教)
cv2.GaussianBlur(gray, (5, 5), 0)
如果单纯应用在这里用于图片处理,这行代码足矣
至于其他滤波方式,和高斯滤波的差异,我在后续会补充
如果有问题的地方,大家可以随时指出
# 至滤波部分代码实现(降噪)
import cv2
import numpy as np
image = cv2.imread('test_image.jpg')
lane_image = np.copy(image)
gray = cv2.cvtColor(lane_image, cv2.COLOR_RGB2GRAY)
blur = cv2.GaussianBlur(gray, (5, 5), 0)
cv2.imshow("result", blur)
cv2.waitKey(0)