高通滤波器,低通滤波器

1.高通滤波器是根据像素与邻近像素的亮度差值来提升该像素的亮度。

python 复制代码
import cv2
import numpy as np
from scipy import ndimage

kernel_3_3 =np.array([[-1,-1,-1],
                     [-1,8,-1],
                     [-1,-1,-1]])
print(kernel_3_3)
kernel_5_5 =np.array([[-1,-1,-1,-1,-1],
                     [-1,1,2,1,-1],
                     [-1,2,4,2,-1],
                     [-1,1,2,1,-1],
                     [-1,-1,-1,-1,-1]])

img =cv2.imread("x.jpg",0)
k3=ndimage.convolve(img,kernel_3_3)
print(k3)
k5=ndimage.convolve(img,kernel_5_5)

blurred=cv2.GaussianBlur(img,(11,11),0)
g_hpf=img - blurred
cv2.imshow("3*3",k3)
cv2.imshow("5*5",k5)
cv2.imshow("g_hpf",g_hpf)
cv2.waitKey()
cv2.destroyAllWindows()

确实容易看出,第三种效果最好。

python 复制代码
import cv2
import numpy as np
from scipy import ndimage

blurKsize=7
edgeKsize=5
src=cv2.imread("x.jpg")
#模糊函数,对去除数字化的视频噪声很有效,尤其是彩色图像的噪声
blurredSrc=cv2.medianBlur(src,blurKsize)
cv2.imshow('blurredSrc',blurredSrc)
cv2.waitKey(0)
#彩色图转灰度图
graySrc=cv2.cvtColor(blurredSrc,cv2.COLOR_BGR2GRAY)
cv2.imshow('graySrc',graySrc)
cv2.waitKey(0)
#边缘检测函数,会产生明显的边缘线条
cv2.Laplacian(graySrc,cv2.CV_8U,graySrc,edgeKsize)
cv2.imshow('LapSrc',graySrc)
cv2.waitKey(0)

#黑转白,白转黑
normalizedInverseAlpha =(1.0/255)*(255 - graySrc)
cv2.imshow('normalizedSrc',normalizedInverseAlpha)
cv2.waitKey(0)

#重新恢复彩色,实现更清晰的轮廓图
channels=cv2.split(src)
for channel in channels:
    channel[:]=channel*normalizedInverseAlpha
dst=src.copy()
cv2.merge(channels,dst)
cv2.imshow('dst',dst)
cv2.waitKey(0)

使用medianBlur()作为模糊函数,它对去除数字化的视频噪声非常有效。

从BGR色彩空间转灰度色彩空间

使用Laplacian()作为边缘检测函数,它会产生明显的边缘线条

转化为黑色边缘和白色背景的图像

归一化:

3.(1)锐化

python 复制代码
import cv2
import numpy as np


src=cv2.imread("x.jpg")
kernel=np.array([[-1,-1,-1],
                 [-1,9,-1],
                 [-1,-1,-1]])
dst=src.copy()
cv2.filter2D(src,-1,kernel,dst)
cv2.imshow("pic",dst)
cv2.waitKey(0)

kernel=np.array([[-1,-1,-1],

[-1,9,-1],

[-1,-1,-1]])

如果感兴趣的像素已经与其邻近的像素有一点差别,那么这个差别会增加。

这样会让图像锐化。
filter2D()运用由用户指定的任意核或卷积矩阵。

(2)边缘检测

复制代码
kernel=np.array([[-1,-1,-1],
                 [-1,8,-1],
                 [-1,-1,-1]])

此时为边缘检测核(权重加起来为0,把边缘转为白色,把非边缘区域转为黑色)

(3)模糊效果

python 复制代码
kernel=np.array([[0.04,0.04,0.04,0.04,0.04],
                [0.04,0.04,0.04,0.04,0.04],
                [0.04,0.04,0.04,0.04,0.04],
                [0.04,0.04,0.04,0.04,0.04],
                [0.04,0.04,0.04,0.04,0.04]
                 ])

通常权重为1,邻近像素的权重全为正。

(4)模糊加锐化(产生脊状或浮雕效果)

python 复制代码
kernel=np.array([[-2,-1,0],
                 [-1,1,1],
                 [0,1,2]])
相关推荐
羊小猪~~几秒前
神经网络基础--什么是正向传播??什么是方向传播??
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习
AI小杨1 分钟前
【车道线检测】一、传统车道线检测:基于霍夫变换的车道线检测史诗级详细教程
人工智能·opencv·计算机视觉·霍夫变换·车道线检测
晨曦_子画6 分钟前
编程语言之战:AI 之后的 Kotlin 与 Java
android·java·开发语言·人工智能·kotlin
道可云8 分钟前
道可云人工智能&元宇宙每日资讯|2024国际虚拟现实创新大会将在青岛举办
大数据·人工智能·3d·机器人·ar·vr
人工智能培训咨询叶梓17 分钟前
探索开放资源上指令微调语言模型的现状
人工智能·语言模型·自然语言处理·性能优化·调优·大模型微调·指令微调
zzZ_CMing17 分钟前
大语言模型训练的全过程:预训练、微调、RLHF
人工智能·自然语言处理·aigc
newxtc18 分钟前
【旷视科技-注册/登录安全分析报告】
人工智能·科技·安全·ddddocr
成都古河云19 分钟前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市
UCloud_TShare22 分钟前
浅谈语言模型推理框架 vLLM 0.6.0性能优化
人工智能
软工菜鸡26 分钟前
预训练语言模型BERT——PaddleNLP中的预训练模型
大数据·人工智能·深度学习·算法·语言模型·自然语言处理·bert