高通滤波器,低通滤波器

news2024/12/23 18:50:08

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

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()

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

2.

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)锐化 

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)模糊效果

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)模糊加锐化(产生脊状或浮雕效果)

kernel=np.array([[-2,-1,0],
                 [-1,1,1],
                 [0,1,2]])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/821285.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络安全进阶学习第八课——信息收集

文章目录 一、什么是信息收集?二、信息收集的原则三、信息收集的分类1.主动信息收集2.被动信息收集 四、资产探测1、Whois查询#常用网站: 2、备案信息查询#常用网站: 3、DNS查询#常用网站: 4、子域名收集#常用网站:#常…

在访问一个网页时弹出的浏览器窗口,如何用selenium 网页自动化解决?

相信大家在使用selenium做网页自动化时,会遇到如下这样的一个场景: 在你使用get访问某一个网址时,会在页面中弹出如上图所示的弹出框。 首先想到是利用Alert类来处理它。 然而,很不幸,Alert类处理的结果就是没有结果…

SNAT和DNAT原理与应用

iptables的备份和还原 1.写在命令行当中的都是临时配置。 2.把我们的规则配置在 备份(导出):iptables-save > /opt/iptables.bak 默认配置文件:/etc/sysconfig/iptables 永久配置:cat /opt/iptables.bak > /etc…

最近安全事件频发,分享一些如何在Sui上构建安全应用的建议

在Sui上构建任何应用程序的一个关键部分是防止恶意攻击和威胁行为。对安全性的重视对于减少用户的资产损失,以及降低对开发者和企业的声誉损害至关重要。 Sui安全和密码学社区的成员总结了一些开发者在开发过程中应该注意避免的最佳实践。虽然其中一些经验是单独针…

AD21 PCB设计的高级应用(十)Gerber文件转PCB

(十)Gerber文件转PCB Altium Designer 导入 Gerber 并转换成 PCB 的操作步骤如下: (1)打开 Altium Designer 软件,执行菜单栏中“文件”→“新的”→“项目”命令,新建一个 PCB Project,并且新建一个 CAM 文档添加到工程中,如图所示。 (2)Gerber 文件有两…

Web性能测试模型全面解读

前言 性能测试用例主要分为预期目标用户测试、用户并发测试、疲劳强度与大数据量测试、网络性能测试、服务器性能测试五大部分。 具体编写用例时要根据实际情况去进行,遵守低成本、策略为中心,裁减、完善模型,具体化等原则。 Web性能测试模…

视频监控汇聚平台EasyCVR告警消息生成后,合成录像显示不了是什么原因?

智能视频监控平台TSINGSEE青犀视频EasyCVR具备视频融合汇聚能力,作为安防视频监控综合管理平台,它支持多协议接入、多格式视频流分发,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入&…

苍穹外卖项目解读(三) redis、cache缓存解读

前言 HM新出springboot入门项目《苍穹外卖》,笔者打算写一个系列学习笔记,“苍穹外卖项目解读”,内容主要从HM课程,自己实践,以及踩坑填坑出发,以技术,经验为主,记录学习&#xff0…

2023年智能优化算法---能量谷优化器 Energy valley optimizer(EVO),附MATLAB代码和文献...

简介 能量谷优化器(EVO)是一种新的元启发式算法,它的算法是受到了关于稳定性和不同粒子衰变模式的先进物理原理的启发。在文献中,作者与CEC函数中最先进的算法进行了比较,并且证明该算法确实很强劲。算法原理大家请参考文献。 01 结果展示 在…

算法通关村第三关——不简单的数组增删改查

线性表基础 线性表概念 线性表就是具有相同特征数据元素的一个有限序列,其中包含元素的个数称为线性表的长度 线性表类型 从不同的角度看,线性表有不同的分类 语言实现角度 顺序表有两种实现方式 一体式 分离式 一体式结构 一体式:存储信息…

Softing mobiLink——连接现场设备的优选方案

| 用于智能现场设备管理的移动配置工具 从技术人员的角度来看,过程自动化可能会成为一个主要的管理难题,因为其实际上有无限数量的可配置参数及各种通信协议和现场设备接口。由来自多个制造商生产的上千台现场设备组成的现代过程架构,使技术…

Chapter 10: Dictionaries | Python for Everybody 讲义笔记_En

文章目录 Python for Everybody课程简介DictionariesDictionariesDictionary as a set of countersDictionaries and filesLooping and dictionariesAdvanced text parsingDebuggingGlossary Python for Everybody Exploring Data Using Python 3 Dr. Charles R. Severance 课程…

《向量数据库指南》——腾讯云向量数据库Tencent Cloud VectorDB产品特性,架构和应用场景

腾讯云向量数据库(Tencent Cloud VectorDB)是一款全托管的自研企业级分布式数据库服务,专用于存储、检索、分析多维向量数据。该数据库支持多种索引类型和相似度计算方法,单索引支持 10 亿级向量规模,可支持百万级 QPS 及毫秒级查询延迟。腾讯云向量数据库不仅能为大模型提…

Window版本ES(ElasticSearch)的安装,使用,启动

首先我这里是根据小破站狂神说up主,而学习的,下面是笔记文档,文档可能比我更细,但我还是记录一下,嘿嘿嘿 ElasticSearch7.6入门学习笔记-KuangStudy-文章 下面直接开始,首先我们需要下载ELK三个安装包&…

spring boot合并 http请求(前后端实现)

为什么要合并http请求 页面加载时要初始化很多资源信息,会发送好多http请求,根据http的通信握手特点,多个http请求比较浪费资源。进而如果能将多个http请求合并为一个发送给服务器,由服务器获取对应的资源返回给客户端 奇思妙解 …

echarts实现正负轴柱状图

效果: data变量配置: // 正负柱状图zhengfuZhu: {},data1: [],data2: [],data3: [],data4: [],xAxisData1: [],//横轴刻度seriesLabel: { //柱子上的字体show: false,position: outside,color: #BEC3EB,},seriesEmphasis: { //itemStyle: {shadowBlur: …

【福建事业单位-语言理解】01中心理解

【福建事业单位-语言理解】01中心理解 一、中心理解题:关键词1.1 转折关系词总结 1.2因果关系词总结 1.3必要条件关系对策(只有才的变体题型)反面论证(如果等词汇错误做法不好的结果)对策特殊脉络总结 1.4 并列结构总结…

怎么找小红书美食探店博主合作?

在小红书上有许多活跃的美食探店博主,他们通过分享自己的餐厅体验、特色美食以及口味评价,吸引了大量用户的关注。对于想要在小红书上进行美食推广的企业来说,与这些博主合作是一种非常直接的方式,接下来伯乐网络传媒来给大家分享…

【已解决】标签死活不响应单击事件

大家好,我是执念斩长河。今天在公司写代码的时候突然遇到一个问题,这个问题困扰了我不久,就是html中li标签不能响应我的单击事件。最后在仔细分析下,解决了这个问题。 文章目录 1、问题来源2、问题解决方案3、问题解决效果4、总结…

C语言假期作业 DAY 10

一、选择题 1、求函数返回值,传入 -1 ,则在64位机器上函数返回( ) int func(int x) { int count 0; while (x) { count; x x&(x - 1);//与运算 } r eturn count; } A: 死循环 B: 64 C: 32 D: 16 答案解析 正确答案&#xff…