- 浏览: 496286 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
opencv 平滑图像
模糊/平滑图片来消除图片噪声
OpenCV函数:cv2.blur(), cv2.GaussianBlur(), cv2.medianBlur(), cv2.bilateralFilter()
均值滤波(会模糊会边缘)
blur(src, ksize, dst=None, anchor=None, borderType=None)
ksize:卷积核大小
方框滤波
方框滤波跟均值滤波很像,如下面的公式。用cv2.boxFilter()函数实现,事实上,当可选参数normalize为True的时候,方框滤波就是均值滤波,如3×3的核,a就等于1/9;normalize为False的时候,a=1,相当于求区域内的像素和。
boxFilter(src, ddepth, ksize, dst=None, anchor=None, normalize=None, borderType=None):
高斯滤波
GaussianBlur(src, ksize, sigmaX, dst=None, sigmaY=None, borderType=None)
参数3 σx值越大,模糊效果越明显。
中值滤波
中值又叫中位数,是所有值排序后取中间的值。
所以那种孤立的斑点,如0或255很容易消除掉,适用于去除椒盐噪声和斑点噪声。
medianBlur(src, ksize, dst=None)
双边滤波
模糊操作基本都会损失掉图像细节信息,尤其前面介绍的线性滤波器,图像的边缘信息很难保留下来。然而,边缘edge信息是图像中很重要的一个特征,所以这才有了双边滤波。
双边滤波中双边的意思是同时考虑两条边(因素),这两条边分别是空间域和值域。这里的空间域是指考虑空间位置关系,根据距离核心位置的距离的远近给予不同的加权值,原理和高斯滤波一样。而值域是指考虑邻域范围内的像素差值计算出滤波器系数,类似于α-截尾均值滤波器(去掉百分率为α的最小值和最大之后剩下像素的均值作为滤波器)。
其中sigmaColor越大,就表明该像素邻域内有越宽广的颜色会被混合到一起,产生较大的相等颜色区域。sigmaSpace越大,则表明越远的像素会对kernel中心的像素产生影响,从而使更大的区域中足够相似的颜色获取相同的颜色。
bilateralFilter(src, d, sigmaColor, sigmaSpace, dst=None, borderType=None)
d:每个像素邻域的直径
sigmaColor:
sigmaSpace:
模糊/平滑图片来消除图片噪声
OpenCV函数:cv2.blur(), cv2.GaussianBlur(), cv2.medianBlur(), cv2.bilateralFilter()
均值滤波(会模糊会边缘)
blur(src, ksize, dst=None, anchor=None, borderType=None)
ksize:卷积核大小
方框滤波
方框滤波跟均值滤波很像,如下面的公式。用cv2.boxFilter()函数实现,事实上,当可选参数normalize为True的时候,方框滤波就是均值滤波,如3×3的核,a就等于1/9;normalize为False的时候,a=1,相当于求区域内的像素和。
boxFilter(src, ddepth, ksize, dst=None, anchor=None, normalize=None, borderType=None):
高斯滤波
GaussianBlur(src, ksize, sigmaX, dst=None, sigmaY=None, borderType=None)
参数3 σx值越大,模糊效果越明显。
中值滤波
中值又叫中位数,是所有值排序后取中间的值。
所以那种孤立的斑点,如0或255很容易消除掉,适用于去除椒盐噪声和斑点噪声。
medianBlur(src, ksize, dst=None)
双边滤波
模糊操作基本都会损失掉图像细节信息,尤其前面介绍的线性滤波器,图像的边缘信息很难保留下来。然而,边缘edge信息是图像中很重要的一个特征,所以这才有了双边滤波。
双边滤波中双边的意思是同时考虑两条边(因素),这两条边分别是空间域和值域。这里的空间域是指考虑空间位置关系,根据距离核心位置的距离的远近给予不同的加权值,原理和高斯滤波一样。而值域是指考虑邻域范围内的像素差值计算出滤波器系数,类似于α-截尾均值滤波器(去掉百分率为α的最小值和最大之后剩下像素的均值作为滤波器)。
其中sigmaColor越大,就表明该像素邻域内有越宽广的颜色会被混合到一起,产生较大的相等颜色区域。sigmaSpace越大,则表明越远的像素会对kernel中心的像素产生影响,从而使更大的区域中足够相似的颜色获取相同的颜色。
bilateralFilter(src, d, sigmaColor, sigmaSpace, dst=None, borderType=None)
d:每个像素邻域的直径
sigmaColor:
sigmaSpace:
# -*-encoding:utf-8-*- import pytesseract from PIL import Image from PIL import ImageFilter from PIL import ImageFont from PIL import ImageDraw import numpy as np from PIL import Image import cv2 def main(): # 颜色空间转换 img = cv2.imread("learn.jpg") # =================================均值滤波(会模糊会边缘) # blur(src, ksize, dst=None, anchor=None, borderType=None) # ksize: 卷积核大小 res = cv2.blur(img,(3, 3)) # =================================方框滤波 boxFilter = cv2.boxFilter(img, -1, (3, 3), normalize=True) res = cv2.boxFilter(img, -1, (3, 3), normalize=False) # =================================高斯滤波 res = cv2.GaussianBlur(img, (5, 5), 1) # 高斯滤波 # 参数3 σx值越大,模糊效果越明显。 # =================================中值滤波 # 中值又叫中位数,是所有值排序后取中间的值。 # medianBlur(src, ksize, dst=None) res = cv2.medianBlur(img, 5) # 中值滤波 # =================================双边滤波 # 模糊操作基本都会损失掉图像细节信息,尤其前面介绍的线性滤波器, # 图像的边缘信息很难保留下来。然而,边缘edge信息是图像中很重要的一个特征,所以这才有了双边滤波。 res= cv2.bilateralFilter(img, 9, 75, 75) # 双边滤波 # cv2.imshow('img', img) # cv2.imshow('boxFilter', boxFilter) cv2.imshow('res', res) cv2.waitKey(0) if __name__ == '__main__': main()
发表评论
-
识别图片中的人脸
2018-10-31 21:21 793识别图片中的人脸 # -*-encoding:ut ... -
opencv 霍夫变换(识别出图像中的直线和圆)
2018-10-23 20:34 3114# -*-encoding:utf-8-*- import ... -
opencv 模板匹配(在大图中找小图)
2018-10-22 21:31 8386# -*-encoding:utf-8-*- import ... -
opencv 直方图
2018-10-22 21:30 494# -*-encoding:utf-8-*- import ... -
opencv 轮廓特征
2018-10-21 20:35 1232# -*-encoding:utf-8-*- import ... -
opencv 轮廓
2018-10-21 20:34 516# -*-encoding:utf-8-*- import ... -
opencv 膨胀腐蚀开闭
2018-10-21 20:34 873# -*-encoding:utf-8-*- import ... -
opencv 边缘检测
2018-10-21 20:32 765# -*-encoding:utf-8-*- import ... -
opencv 图像混合
2018-10-17 20:58 706opencv 图像混合 图片间的数学运算,如相加、按位运算 ... -
opencv 绘图功能
2018-10-16 22:04 840opencv 绘图功能 学习画线、圆和矩形等多种几何形状, ... -
opencv 图像几何变换
2018-10-16 19:36 914opencv 图像几何变换 实现旋转、平移和缩放图片 了解仿 ... -
opencv 阈值分割
2018-10-16 16:02 1231opencv 阈值分割 同的阈值方法”二值化”图像。 使用 ... -
opencv 颜色空间转换
2018-10-15 19:42 1308opencv 颜色空间转换 颜色空间转换,如BGR↔Gray ... -
openvc 图像基本操作
2018-10-15 19:11 973openvc 图像基本操作 访问和修改图片像素点的值 px ... -
Python OpenCV 基本操作
2018-10-12 22:46 393Python OpenCV 基本操作 加载图片,显示图片, ... -
Python OpenCV 形态学操作(腐蚀膨胀,开运算和闭运算)
2018-10-12 22:32 5341Python OpenCV 形态学操作(腐蚀膨胀,开运算和闭运 ...
相关推荐
4. **双边滤波**:双边滤波是一种更高级的平滑方法,它结合了空间和灰度相似度,既能平滑图像又能保持边缘细节。`cv::bilateralFilter()`函数可用于此目的,参数包括输入图像、输出图像、滤波器直径、σ_color(颜色...
例如,可以使用高斯滤波器(`GaussianBlur()`)来平滑图像,或者用Sobel算子(`Sobel()`)进行边缘检测,提升图像的清晰度。此外,还可以使用中值滤波(`MedianBlur()`)去除椒盐噪声。 5. **模板匹配与特征匹配**...
标题中的"abc.zip_ABC_opencv平滑_图像处理 ABC"暗示了我们将在讨论OpenCV如何实现图像平滑处理,这通常是减小图像噪声、提高图像质量的第一步。在描述中提到,“opencv在VC++环境下图像平滑处理的四种常用方法”是...
- 滤波:`cv::GaussianBlur()`、`cv::medianBlur()`和`cv::blur()`可以用于平滑图像,减少噪声。 - 边缘检测:`cv::Canny()`和`cv::Sobel()`可以检测图像的边缘。 - 特征检测:`cv::goodFeaturesToTrack()`、`cv::...
5. **结果图像优化**:最后,可能需要对结果图像进行一些后处理,如去噪、平滑和色彩调整,以提高视觉质量。 在OpenCV中,`cv::detail::ImageStitcher`类是实现图像拼接的核心组件。它封装了整个流程,包括特征检测...
OpenCV库提供了多种预处理函数,如`cv::blur`进行平滑滤波,`cv::cvtColor`进行颜色空间转换,以及`cv::imread`和`cv::imwrite`用于读取和保存图像。 2. **特征提取**:在融合过程中,特征提取有助于识别每幅图像的...
### OpenCV中的图像预处理技术:平滑处理、灰阶转换及形态学操作 #### 一、概述 在计算机视觉领域,对图像进行预处理是非常重要的一步,它可以帮助我们更好地提取图像特征,从而提高后续算法的准确性和效率。...
双边滤波器结合了空间和强度信息,既能平滑图像,又能保留边缘,对于保留图像细节特别有效。 5. **自适应局部阈值去噪(Adaptive Thresholding)** 根据图像局部区域的特性进行阈值处理,可以针对不同区域的噪声...
- **滤波操作**:包括高斯滤波、中值滤波和双边滤波,可用于平滑图像、去除噪声,同时保持文字边缘的清晰。 - **锐化**:使用拉普拉斯算子或Unsharp Masking技术,可以增强图像的边缘,使文字更清晰。 - **二值化...
滤波是去除图像噪声、平滑图像的一种方法,OpenCV提供了多种滤波器,如平均滤波(`cv2.blur()`)、高斯滤波(`cv2.GaussianBlur()`)和中值滤波(`cv2.medianBlur()`)。这些操作可以提高图像质量,为后续的边缘检测...
OpenCV中的滤波函数(如高斯滤波、中值滤波)可以用于平滑图像,减少噪声;图像增强能改善图像对比度;去噪方法如快速傅里叶变换(FFT)和非局部均值去噪可去除图像中的噪声。 3. **直方图**:直方图是图像亮度或颜色...
在计算机视觉领域,图像处理是不可或缺的一环,而QT与OpenCV这两个强大的工具结合,能够实现各种复杂的图像处理任务。本项目重点在于图像增强,主要包括高斯平滑、中值滤波以及图像锐化,这些都是图像预处理的重要...
使用C语言,调用OpenCV的库,来对图像进行平滑处理。
本项目聚焦于“基于OpenCV的图像局部放大”功能的实现,这在很多应用场景中都非常有用,如图像分析、图像处理或者图像浏览软件等。下面我们将详细探讨如何使用VC++(Visual C++)集成开发环境和OpenCV库来实现这一...
此外,理解OpenCV的图像处理概念非常重要,如滤波器(例如高斯滤波)可以用来平滑图像,减少噪声;膨胀和腐蚀操作可以帮助填充孔洞和分离粘连的色块。这些都是在实际应用中可能需要掌握的额外技能。 总的来说,基于...
接下来,可以应用高斯滤波来平滑图像,消除噪声,为后续的边缘检测做准备。 在滤波后的图像上,我们可以使用Canny边缘检测算法来找出潜在的边缘。Canny算法通过计算梯度强度和方向来确定边缘。在OpenCV中,`Canny()...
应用CUDA,opencv实现图像的高斯平滑处理, 读取待处理的图像; 定义中间数据传递的指针并分配内存; 将数据从Host端传到Device端; 网格和块的分配; 执行kernel函数; 将数据从Device端传回到Host端; 最后...
在图像处理领域,OpenCV(开源计算机视觉库)是一个广泛使用的工具,它提供了丰富的功能,包括图像平滑处理。图像平滑,也被称为图像滤波,是减少图像噪声、提高图像质量的重要步骤。本项目主要关注如何使用C语言...
4. **图像滤波**:包括均值滤波、高斯滤波、中值滤波等,可用于平滑图像或去除噪声。`blur()`、`GaussianBlur()`和`medianBlur()`是对应的函数。 5. **边缘检测**:Canny、Sobel、Laplacian等算法可以帮助找到图像...
4. 图像滤波:OpenCV提供了多种滤波器,如高斯滤波、中值滤波、 Sobel算子等,可用于图像平滑、边缘检测等。这些滤波器在消除噪声、增强特征或检测边缘时非常有效。 5. 图像分割:OpenCV中的`threshold()`函数可以...