二、图像阈值处理及平滑操作(均值滤波、方框滤波、高斯滤波、中值滤波)
content: 人生仍需多点绿。。。
具体的原理:请参考:https://www.jianshu.com/p/b453c0f24b29
参考2:https://yq.aliyun.com/articles/852
均值滤波
方框滤波
高斯滤波
中值滤波
1、阈值处理
import numpy as np
import cv2
import matplotlib.pyplot as plt#图像阈值处理
img = cv2.imread('../image/dog_1.jpg')
img_gray = cv2.imread('../image/dog_1.jpg',cv2.IMREAD_GRAYSCALE)"""输入图像通常为灰度图像阈值和最大值自己给定,当像素超过阈值或者小于阈值type:二值化操作的类型,这个是重点记忆理解的
"""#超过阈值部分取最大值,否则为0
ret,thresh1 = cv2.threshold(img_gray,127,255,cv2.THRESH_BINARY)
#thresh_binary的反转
ret,thresh2 = cv2.threshold(img_gray,127,255,cv2.THRESH_BINARY_INV)
#大于阈值部分设置为阈值,否则不变
ret,thresh3 = cv2.threshold(img_gray,127,255,cv2.THRESH_TRUNC)
#大于阈值部分不变,否则为0
ret,thresh4 = cv2.threshold(img_gray,127,255,cv2.THRESH_TOZERO)
#thresh_tozero的反转
ret,thresh5 = cv2.threshold(img_gray,127,255,cv2.THRESH_TOZERO_INV)titles = ['original','binaray','binaray_inv','trunc','tozero','tozero_inv']
images = [img,thresh1,thresh2,thresh3,thresh4,thresh5]for i in range(6):plt.subplot(2,3,i+1),plt.imshow(images[i],'gray')plt.title(titles[i])plt.xticks([]),plt.yticks([])
plt.show()
2、图像平滑
import cv2
import numpy as np
import matplotlib.pyplot as pltimg = cv2.imread('../image/car_10.jpg',cv2.IMREAD_GRAYSCALE)
# cv2.imshow('img',img)
# cv2.waitKey(0)
# cv2.destroyAllWindows()"""均值滤波类似于卷积操作设置卷积核的大小然后对像素点求平均值即可
"""
blur = cv2.blur(img,(3,3))
# cv2.imshow('blur',blur)
# cv2.imwrite('../image/blur_car_10.png',blur)
# cv2.waitKey(0)
# cv2.destroyAllWindows()"""方框滤波和均值一样,可以选择归一化
"""
box = cv2.boxFilter(img,-1,(3,3),normalize=False)
# cv2.imshow('box',box)
# cv2.imwrite('../image/box_car_10.png',box)
# cv2.waitKey(0)
# cv2.destroyAllWindows()"""高斯滤波高斯模糊的卷积核里的数值满足高斯分布,更重视中间的值
"""
gassian = cv2.GaussianBlur(img,(5,5),1)
# cv2.imshow('gassian',gassian)
# cv2.imwrite('../image/gassian_car_10.png',gassian)
# cv2.waitKey(0)
# cv2.destroyAllWindows()"""中值滤波相当于用中值代替
"""
median = cv2.medianBlur(img,5)
# cv2.imshow('median',median)
# cv2.imwrite('../image/median_car_10.png',median)
# cv2.waitKey(0)
# cv2.destroyAllWindows()"""显示所有图像
"""
res = np.hstack((blur,gassian,median,box))
cv2.imshow('res',res)
cv2.imwrite('../image/allimage_stack.png',res)
cv2.waitKey()
cv2.destroyAllWindows()
二、图像阈值处理及平滑操作(均值滤波、方框滤波、高斯滤波、中值滤波)相关推荐
- opencv学习笔记11:图像滤波(均值,方框,高斯,中值)
为什么要使用滤波 消除图像中的噪声成分叫作图像的平滑化或滤波操作.信号或图像的能量大部分集中在幅度谱的低频和中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声淹没.因此一个能降低高频成分幅度的滤波 ...
- python中值滤波去除反光_Python 实现中值滤波、均值滤波的方法
红包: Lena椒盐噪声图片: # -*- coding: utf-8 -*- """ Created on Sat Oct 14 22:16:47 2017 @auth ...
- 【数字图像处理】图像直方图均衡化、空域滤波(均值滤波、中值滤波)、图像锐化(Laplace算子)、图像傅里叶变换实验
图像直方图均衡化.空域滤波.图像锐化.图像傅里叶变换 一.图像直方图均衡化 二.图像空域滤波 1.均值滤波(滤波次数n→3) 2.中值滤波(滤波次数n→3) 3.图像锐化(Laplace算子) 三.图 ...
- 【OpenCV】5种图像滤波辨析:方框、均值、高斯、中值、双边
from:http://www.07net01.com/2015/12/1003192.html 图像滤波 什么是图像滤波 图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预 ...
- 图像降噪算法——中值滤波/均值滤波/高斯滤波/双边滤波
图像降噪算法--中值滤波/均值滤波/高斯滤波/双边滤波 图像降噪算法--中值滤波/均值滤波/高斯滤波/双边滤波 1. 基本原理 2. C++代码实现 3. 结论 图像降噪算法--中值滤波/均值滤波/高 ...
- 图像算法三:【图像增强--空间域】图像平滑、中值滤波、图像锐化
空间域滤波:imfilter(),fspecial() 执行操作滤波需要注意边界问题,因此,给出了边界处理方法: 收缩处理范围 使用常数填充图像 使用复制像素的方法填充 h = fspecial( t ...
- 《OpenCv视觉之眼》Python图像处理五 :Opencv图像去噪处理之均值滤波、方框滤波、中值滤波和高斯滤波
本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...
- 【图像去噪】中值滤波和均值滤波matlab源码
一.均值滤波 图片中一个方块区域(一般为3*3)内,中心点的像素为全部点像素值的平均值.均值滤波就是对于整张图片进行以上操作. 我们可以看下图的矩阵进行理解 缺陷:均值滤波本身存在着固有的缺陷,即它不 ...
- 均值滤波、中值滤波的matlab实现
目前比较经典的图像去噪算法主要有以下三种: 均值滤波算法:也称线性滤波,主要思想为邻域平均法,即用几个像素灰度 的平均值来代替每个像素的灰度.有效抑制加性噪声,但容易引起图像模 糊, 可以对其进行 ...
最新文章
- node.js实现国标GB28181流媒体点播(即实时预览)服务解决方案
- oracle11中过程continue,Oracle 11g OCM备考之创建EM与EM登陆异常的处理
- 用c语言编写图书成绩管理系统,学生成绩管理系统(c语言编写).doc
- STM32使用FatFs
- 3-5 单链表分段逆转 (20 分)
- 求1+2!+3!+......+20!的和
- tableView中deselectRowAtIndexPath的作用
- mysql报错 Row size too large ( 8126)
- 漏洞战争: 软件漏洞发展趋势
- 微信小程序实现图片上传
- 2020-05-11 华为性格测试
- Java基础内容整理(一)
- VScode远程root权限调试
- 5.Django路由path和re_path详解
- 2022-C4-AI-基于飞桨的智慧书桌系统
- 杨振宁 莫言 范曾 《开讲啦》
- 抢占中国P2P海外第一股 宜人贷寓意为何
- 欢迎使用CSDN-markdown编辑器2
- RIME小狼毫自用配置
- IT公益风潮已来,中国信息技术公益联盟成立