高通滤波器,低通滤波器

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

iOS——锁与死锁问题

iOS中的锁 什么是锁锁的分类互斥锁1. synchronized2. NSLock3. pthread 递归锁1. NSRecursiveLock2. pthread 信号量Semaphore1. dispatch_semaphore_t2. pthread 条件锁1. NSCodition2. NSCoditionLock3. POSIX Conditions 分布式锁NSDistributedLock 读写锁1. dispatch_barri…

C++设计模式之责任链设计模式

C责任链设计模式 什么是责任链设计模式 责任链设计模式是一种行为型设计模式,它允许多个处理请求的对象串联起来,形成一个处理请求的链。每个对象都有机会处理请求,如果该对象不能处理请求,则将请求传递给链中的下一个对象。 该…

2023年华数杯建模思路 - 案例:随机森林

## 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 什么是随机森林? 随机森林属于 集成学习 中的 Bagging(Bootstrap AGgregation 的简称) 方法。如果用图来表示他们之…

51单片机学习--蜂鸣器播放音乐

由原理图可知,蜂鸣器BEEP与P1_5 相关,但其实这个原理图有错,实测接的是P2_5 下面这个代码就是以500HZ的频率响500ms的例子 sbit Buzzer P2^5;unsigned char KeyNum; unsigned int i;void main() {while(1){KeyNum Key();if(KeyNum){for(i …

亚马逊买家账号ip关联怎么处理

对于亚马逊买家账号,同样需要注意IP关联问题。在亚马逊的眼中,如果多个买家账号共享相同的IP地址,可能会被视为潜在的操纵、违规或滥用行为。这种情况可能导致账号受到限制或处罚。 处理亚马逊买家账号IP关联问题,建议采取以下步骤…

实用干货!一文读懂Salesforce中6种数据关系类型!

Salesforce中对象之间的数据关系可能是一个棘手的话题。对于创建自定义对象的业务场景,需要决定使用哪些关系类型来扩展Salesforce数据模型。 01 查找关系 查找关系(Lookup Relationships)是一种松散耦合(loosely coupled&…

[React]生命周期

前言 学习React,生命周期很重要,我们了解完生命周期的各个组件,对写高性能组件会有很大的帮助. Ract生命周期 React 生命周期分为三种状态 1. 初始化 2.更新 3.销毁 初始化 1、getDefaultProps() 设置默认的props,也可以用duf…

【Quartus FPGA】EMIF DDR3 读写带宽测试

在通信原理中,通信系统的有效性用带宽来衡量,带宽定义为每秒传输的比特数,单位 b/s,或 bps。在 DDR3 接口的产品设计中,DDR3 读/写带宽是设计者必须考虑的指标。本文主要介绍了 Quartus FPGA 平台 EMIF 参数配置&#…

Tomcat 创建https

打开CMD,按下列输入 keytool -genkeypair -alias www.bo.org -keyalg RSA -keystore d:\ambition.keystore -storetype pkcs12 输入密钥库口令:123456 再次输入新口令:123456 您的名字与姓氏是什么? [Unknown]: www.ambition.com 您的组织单位名称是什么? [Unknown…

cc2652在使用过程中的一些注意事项

可能不只是cc2652有这些坑,估计cc26xx系列都存在。 CCS的预编译宏配置位置 时钟获取 时钟获取__STATIC_INLINE uint32_t SysCtrlClockGet( void )在sys_ctrl.h中,sys_ctrl.h没有在工程路径下面,在其sdk中 节拍时间获取 ICall_getTicks(); …

IPv6 over IPv4隧道配置举例

配置IPv6 over IPv4手动隧道示例 组网需求 如图1所示,两台IPv6主机分别通过SwitchA和SwitchC与IPv4骨干网络连接,客户希望两台IPv6主机能通过IPv4骨干网互通。 图1 配置IPv6 over IPv4手动隧道组网图 配置思路 配置IPv6 over IPv4手动隧道的思路如下&…

roop 视频换脸

roop: one click face swap. 只用一张人脸图片,就能完成视频换脸。 项目地址: https://github.com/s0md3v/roopColab 部署: https://github.com/dream80/roop_colab 本文是本地部署的实践记录。 环境基础 OS: Ubuntu 22.04.2 LTSKernel: 5…

Redis实战(4)——Redisson分布式锁

1 基于互斥命令实现分布式锁的弊端 根据上篇文章基于redis互斥命令实现的分布式锁任然存在一定的弊端 1无法重入: 同一个线程无法重新获得同一把锁2超时删除 :会因为超时、任务阻塞而自动释放锁,出现其他线程抢占锁出现并行导致线程不安全的问题3 不可…

unity行为决策树实战详解

一、行为决策树的概念 行为决策树是一种用于游戏AI的决策模型,它将游戏AI的行为分解为一系列的决策节点,并通过节点之间的连接关系来描述游戏AI的行为逻辑。在行为决策树中,每个节点都代表一个行为或决策,例如移动、攻击、逃跑等…

LInux的安装(VMware,网卡设置,SSH连接工具)

Linux的安装 1、安装方式介绍 1.安装方式: 物理机安装:直接将操作系统安装到服务器硬件上 虚拟机安装:通过虚拟机软件安装 **虚拟机( Virtual Machine)**指通过软件模拟的具有完整硬件系统功能、运行在完全隔离环境中的完整计算机系统。 2、安装Linux 在官网将…

20款奔驰S350升级原厂HUD抬头显示系统,提升您的行车安全

HUD是平视显示器的简称,它原先是运用在航空器上的飞行辅助仪器。指飞行员不需要低头,就能够看到他需要的重要资讯。由于HUD的方便性以及能够提高飞行安全,这项技术后来也发展到汽车行业。汽车搭载的HUD抬头数字显示功能,是利用光学…

Toolformer :让AI学会使用工具

paper: 《Toolformer: Language Models Can Teach Themselves to Use Tools 》 核心思想, 1. Sampling API Calls :设计设计prompt,让模型生成含API调用的文本(如图3),只保留K个概率最高的API调用 2. Executing API …

MySql006——基本的SELECT查询语句

在《MySql003——结构化查询语言SQL基础知识》中,我们学习了有关SQL的基础知识,也知道SQL中查询语句SELECT使用最为频繁 接下来我们将学习一些基本的SELECT查询语句 一、SELECT语句的通用语法 在MySQL数据库中,使用SELECT语句可以查询数据…

Android Studio多渠道打包

使用环境: Android studio 多渠道打包 使用方法: 1 APP下build.gradle文件 flavorDimensions "default"productFlavors {huawei {dimension "default"manifestPlaceholders [ channel:"huawei" ]}xiaomi {dimension &…

Nginx学习教程(基础篇)

目录 一、Nginx安装 二、Nginx基本使用 2.1、目录结构 conf html logs sbin 2.2、基本运行原理 2.3、nginx.conf最小配置解析 worker_processes worker_connections include mime.types default_type application/octet-stream sendfile on keepalive_timeout…