当前位置: 首页 > news >正文

高通滤波器,低通滤波器

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

import cv2
import numpy as np
from scipy import ndimagekernel_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 ndimageblurKsize=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 npsrc=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.lryc.cn/news/109859.html

相关文章:

  • 机器学习深度学习——卷积的多输入多输出通道
  • HTML5中Canvas学习笔记:Canvas
  • Windows安装子系统Linux
  • C 语言的 pow() 函数
  • socket 基础
  • JMeter(二十五)、一些概念的理解---90%响应时间、事务、并发
  • 直播课 | 大橡科技研发总监丁端尘博士“类器官芯片技术在新药研发中的应用”
  • Python中的PDF文本提取:使用fitz和wxPython库(带进度条)
  • mysql 将字段值+1或自增
  • 组合总和——力扣39
  • PostgreSQL Patroni_exporter 监控 patroni高可用工具
  • C语言多级指针
  • IDEA项目实践——创建Java项目以及创建Maven项目案例、使用数据库连接池创建项目简介
  • ArraySetter
  • Python如何解决Amazon亚马逊“图文验证码”识别(6)
  • plsql连接oracle出现TTC错误
  • 4-golang爬虫下载的代码
  • Eureka增加账号密码认证登录
  • Practice5|58. 最后一个单词的长度、66. 加一
  • Practice4|14. 最长公共前缀、2. 两数相加
  • 第28天-Kubernetes架构,集群部署,Ingress,项目部署,Dashboard
  • 剑指OfferII-58.左旋转字符串
  • C语言每日一题:14《数据结构》复制带随机指针的链表
  • MySql008——检索数据:过滤数据(WHERE子句的使用)
  • vue2-v-show和v-if有什么区别,使用场景分别是什么?
  • 常用的排序算法简介:冒泡、选择、插入、归并、快速
  • Golang之路---04 项目管理——编码规范
  • hcip——期中小试
  • 华云安参编的《云原生安全配置基线规范》正式发布
  • 【计算机网络】NAT技术