opencv卷积核处理

关于卷积 这篇博文安利

https://blog.csdn.net/m0_38032942/article/details/82230059

高斯滤波的

https://www.cnblogs.com/qiqibaby/p/5289977.html

 

卷积核就是图像处理时,给定输入图像,在输出图像中每一个像素是输入图像中一个小区域中像素的加权平均,其中权值由一个函数定义,这个函数称为卷积核。

其主要方法是通过确定的核块来检测图像的某个区域,之后根据所检测的像素与其他周围存在的像素的来读差值来改变像素明亮度。

一个三维的卷积核 作用是计算中央像素与周围像素的亮度差值 如果亮度差距过大 本身图像的中央亮度较少 经过卷积后 中央亮度会增加使之更加突出。

kernel33 = np.array[[-1,-1,-1],[-1,8,-1],[-1,-1,-1]]

同样下面的卷积核是减少中心亮度 使之亮度更小。

kernel33 = np.array[[1,1,1],[-1,8,-1],[1,1,1]]

eg(文件路径千万别是中文!!!

import numpy as np
import cv2
from scipy import ndimage

kernel33 = np.array([[-1,-1,-1],
                     [-1, 8,-1],
                     [-1,-1,-1]])

kernel33_D = np.array([[1 , 1, 1],
                       [-1, 8,-1],
                       [ 1, 1, 1]])

img = cv2.imread("C:/Users/Administrator/Desktop/p/lena.jpg",0) #0代表以灰度图读取
cv2.imshow("img",img)
lightImg = ndimage.convolve(img,kernel33_D)
cv2.imshow("img",lightImg)
cv2.waitKey()

 可以看到图像失真较为严重 这是由于卷积降低的过大

下面使用高斯模糊处理

import numpy as np
import cv2
from scipy import ndimage

img = cv2.imread("C:/Users/Administrator/Desktop/p/lena.jpg",0)
blurred = cv2.GaussianBlur(img,(11,11),0)
gaussImg = img - blurred
cv2.imshow("img",gaussImg)
cv2.waitKey()

明显可以看出高斯滤波处理效果更好

filter2D

https://blog.csdn.net/keith_bb/article/details/53103026

CV2.filter2D(src,-1,kernel,dst)

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值