图像处理

【OpenCV(C++)】图像处理:非线性滤波

半世苍凉 提交于 2020-01-26 18:30:50
【OpenCV(C++)】图像处理:非线性滤波 非线性滤波 中值滤波(Median filter) 双边滤波(Bilateral filter) 非线性滤波 在上一篇文章中所讨论的滤波器都是线性的,即两个信号之间的响应和它们各自响应之和相等,每个像素的输出值是一些输入像素的加权和。 在很多情况下,使用邻域像素的非线性滤波会得到更好的效果。 中值滤波(Median filter) 其基本思想是用像素点邻域灰度值的中值来代替该像素点的灰度值,该方法在去除脉冲噪声、椒盐噪声的同时又能保留图像的边缘细节。它可以克服线性滤波器所带来的图像细节模糊,而在实际运算过程中并不需要图像的统计特性,使得计算更加方便。 # include <opencv2/highgui/highgui.hpp> # include <opencv2/imgproc/imgproc.hpp> using namespace cv ; int main ( ) { Mat srcImage = imread ( "fg.jpg" ) ; imshow ( "[原图]中值滤波" , srcImage ) ; Mat dstImage ; medianBlur ( srcImage , dstImage , 7 ) ; imshow ( "[效果图]中值滤波" , dstImage ) ; waitKey ( 0 ) ;

图像的空域滤波增强

你离开我真会死。 提交于 2020-01-26 03:45:56
文章目录 1.噪声与imnoise函数 2.平滑滤波器 3.中值滤波器 4.自适应滤波器 5.锐化滤波器 使用空域模板进行的图像处理,称为图像的空域滤波增强,模板本身称为空域滤波器。空域滤波增强的机理就是在待处理的图像中逐点的移动模板,滤波器在该点的响应通过事先定义的滤波器系数和滤波模板扫过区域的相应像素值的关系来计算。 空域滤波器可以分为平滑滤波器、中值滤波器、自适应除噪滤波器和锐化滤波器。 1.噪声与imnoise函数 图像噪声按照其干扰源可以分为内部噪声和外部噪声。外部噪声,既指系统外部干扰以电磁波或经电源串进系统内部而引起的噪声,如电气设备、天体放电现象等引起的噪声。内部噪声,一般可分为以下4种: (1)由光和电的基本性质所引起的噪声 (2)电器的机械运动产生的噪声 (3)器件材料本身引起的噪声 (4)系统内部设备电路所引起的噪声 按噪声与信号的关系分类,可以将噪声分为加性噪声和乘性噪声两大类。设f(x,y)为信号,n(x,y)为噪声,噪声影响信号后的输出为g(x,y)。表示加性噪声的公式如下: 加性噪声和图像信号强度是不相关的,如运算放大器。图像在传输过程中引进的“信道噪声”,电视摄像机扫描图像的噪声,这类带有噪声的图像g(x,y)可看成理想无噪声图像f(x,y)与噪声n(x,y)之和。形成的波形是噪声和信号的叠加,其特点是n(x,y)和信号无关。如一般的电子线性放大器

【图像处理】图像颜色的数据格式

↘锁芯ラ 提交于 2020-01-23 02:37:18
微软 说明 Alpha 像素数据包含没有进行过自左乘的 alpha 值 Canonical 默认像素格式,每像素 32 位。此格式指定 24 位颜色深度和一个 8 位 alpha 通道 Canonical 默认像素格式,每像素 32 位。此格式指定 24 位颜色深度和一个 8 位 alpha 通道 Canonical 默认像素格式,每像素 32 位。此格式指定 24 位颜色深度和一个 8 位 alpha 通道 Canonical 默认像素格式,每像素 32 位。此格式指定 24 位颜色深度和一个 8 位 alpha 通道 Canonical 默认像素格式,每像素 32 位。此格式指定 24 位颜色深度和一个 8 位 alpha 通道 Canonical 默认像素格式,每像素 32 位。此格式指定 24 位颜色深度和一个 8 位 alpha 通道 Canonical 默认像素格式,每像素 32 位。此格式指定 24 位颜色深度和一个 8 位 alpha 通道 Canonical 默认像素格式,每像素 32 位。此格式指定 24 位颜色深度和一个 8 位 alpha 通道 来源: CSDN 作者: Rainbow_Gin 链接: https://blog.csdn.net/Rainbow_Gin/article/details/99290106

Python图像处理-6.pil绘制图像轮廓和直方图

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-23 02:30:58
from PIL import Image from pylab import * pil_im1 = Image.open('pic1.png') pil_im1 = pil_im1.rotate(180) #读取图像数据到数组中 im = array(pil_im1.convert('L')) #新建一个图像 figure() #不使用颜色信息 gray() #在原来图形的基础上的做还是那个叫显示轮廓图像 contour(im, image='imgage') axis('equal') #axis('off') figure() hist(im.flatten(),128)#对数据进行压平处理 show() 略微有点 来源: CSDN 作者: qq_36071362 链接: https://blog.csdn.net/qq_36071362/article/details/104003352

opencv-python图像处理

会有一股神秘感。 提交于 2020-01-20 16:44:52
opencv-python图像处理(六) 图像的平滑 cv2.blur() 平均模糊,用卷积框内像素的平均值代替卷积框内像素的值 cv2.GaussianBlur() 高斯模糊,常用于去除高斯噪声,中心点邻近区域像素的高斯加权平均值 cv2.medianBlur() 中值模糊,常用于去除椒盐噪声,用卷积框的中值代替中心像素的值 cv2.bilateralFilter() 双边滤波,边界不会被模糊 import cv2 import matplotlib . pyplot as plt import matplotlib matplotlib . rcParams [ 'font.family' ] = 'SimHei' # 可以显示汉字 img = cv2 . imread ( 'aaa.jpg' , 0 ) blur = cv2 . blur ( img , ( 3 , 3 ) ) # (3,3)为卷积核 gauss = cv2 . GaussianBlur ( img , ( 3 , 3 ) , 0 ) # 高斯模糊 median = cv2 . medianBlur ( img , 3 ) # 中值模糊 bilateral = cv2 . bilateralFilter ( img , 9 , 75 , 75 ) # 9 邻域直径,两个 75 分别是空间高斯函数标准差

C++图像识别之opencv入门学习(基于vs2015环境)

≯℡__Kan透↙ 提交于 2020-01-15 21:03:59
opencv是一个著名的开源计算机视觉库 ,它提供了很多函数,实现很多计算机视觉算法,可以进行图像处理和识别检测等很多功能。最简单的就是图像读取imread,图像写入imwrite,图像显示imshow,改变图像大小resize,图像类型颜色转换cvtColor这几个。关于opencv的具体下载地址大家可以自行搜索,这里主要是介绍在c++环境下开发opencv的步骤,以vs2015示范。 这是下载好opencv开发包的目录: 这是vs2015创建工程的属性配置,包含目录和库目录。因为是vs2015,所以库目录要选vc14,如是vs2017,要选vc15。 还有就是链接器-输入,要把lib库文件输入,因为是debug模式,所以是opencv_world420d.lib。如是release模式,需要输入opencv_world420.lib 下面就是一个简单的例子程序: #include "opencv2/core.hpp" #include "opencv2/imgproc.hpp" #include "opencv2/highgui.hpp" #include "opencv2/videoio.hpp" #include <iostream> using namespace std; using namespace cv; int main() { Mat image; /

数字图像处理(2)——基于VC++的人脸美颜软件

萝らか妹 提交于 2020-01-14 08:45:12
开发环境:VS2012+MFC+Opencv2.4.9 实验目的: 利用VC++实现人脸美化软件,要求: 1、具有人脸美化界面; 2、具有磨皮功能,参数可调; 3、具有美白功能,参数可调; 实验原理: 磨皮:滤波(均值滤波、高斯滤波、双边滤波) 融合:使用高反差保留进行图像融合 美白:使用图像增强—非掩蔽锐化 界面展示: (加载原始图片) (磨皮效果) (融合效果) (美白效) 来源: CSDN 作者: 槐梦丶 链接: https://blog.csdn.net/weixin_44045163/article/details/102705843

简单的图像特效(上)

喜你入骨 提交于 2020-01-13 01:12:19
文章目录 简单介绍 正文 灰度变换 马赛克 浮雕 油画 全局均衡化 EMMM 简单介绍 博主是某工大的学生,最近在做各科的课设,然后其中一个是C++图像处理的课程设计。做这种东西没啥技术含量,但是加上写报告又得浪费个一两天的时间。 为了节约各位大佬们的时间(为了打发无聊),我在这里简单总结一下之前查到的各种简单的图像处理特效实现方法,尽量帮到想要想要学习图像处理特效的大家。 在评论里我会贴上一个完整的实现链接。帮到下个学期想要直接用到这个的小伙伴们~老师还没出成绩,我担心老师对照网上突然发现我的代码查重率100%,所以出成绩后我再贴上地址蛤。 正文 首先,博主使用的是老师发下的CDIB类和VS的MFC框架来实现。上网查的时候发现不同人写的CDIB类区别还挺大的,所以我要先对这个类做一下介绍,方便只是想学方法的同学能够理解之后的部分核心代码的意思。 以下是CDIB类的头文件。其中: ShowDIB使用是把对应的三维按照BGR的格式打印到屏幕上。 m_pDIBData是彩色图片信息(自带补零位)。 m_pDIBDumpData是原始图片的的信息(自带补零位)。 m_pdata是图片的灰度信息(无补零位)。 知道这些信息,然后再和你们自己设计的cdib类对应起来,就会方便很多。 tips:关于补零位,这是bmp格式文件的特色,为了加快运行速度而设计的,想要仔细了解的同学可以在 该博客

图像处理与分析

天大地大妈咪最大 提交于 2020-01-10 03:25:57
基本概念 图像的采样和量化 光照本身是连续的、但是转换成数字形式必然是不连续的 在坐标值(空间)上的数字化即为采样,对幅值的数字化即为量化 量化——每一像素值只能用有限位比特表示,故只能表现有限的精度 可以看作是笛卡儿积 Z 2 Z^2 Z 2 中的一对元素,映射到灰度值集合上的一个映射。 空间分辨率:如dpi每英寸点数;灰度分辨率直接用比特表示 图像插值 最简单的是最近邻方法,其次是双线性,最后是双三次 双线性:可以看作是在一个方格内拟合 f ( x , y ) = a + b x + c y + d x y f(x,y)=a+bx+cy+dxy f ( x , y ) = a + b x + c y + d x y ,比较好的特点是无论固定x还是固定y,关于另一个变量都是线性的。 像素间关系 4领域、8领域、m邻接(m邻接可以消除8邻接的二义性 连通性、区域、边界 距离的度量:非负、自反、交换、三角 常用计算 矩阵与阵列计算 灰度算术 集合和逻辑操作 空间操作(几何空间变换与图像配准 一般来说反向映射比前向映射要好,可以配合插值算法决定每个像素的输出值 把图像当作一个向量,然后乘以矩阵 图像变到某个变换域去(通常通过某个正交变换核 彩色图像 光的三原色为RGB 颜料的三原色为CMYK(青、品红、黄、黑 HSI 色调、饱和度、强度 图像增强 灰度变换 略 直方图处理 直方图

图像处理、模式识别、模式分类、机器视觉推荐图书

北慕城南 提交于 2020-01-09 03:01:05
源地址:http://blog.chinaunix.net/uid-26020768-id-3155898.html 1、数字图像处理,冈萨雷斯,阮秋琦(译),电子工业出版社; 2、opencv基础篇,于仕琦,刘瑞祯,北京航空航天大学出版社; 3、Learning OpenCV computer vision with the opencv library, Gary Bradski, Adrian Kaebler, O'REILLY 4、模式识别,边肇琪,张学工,清华大学出版社; 5、模式分类(英文版·第2版) 作者: Richard O.Duda Peter E.Hart David G.Stork 出版社: 机械工业出版社 出版日期: 2004年2月 模式分类(中文版·第2版) 作者: Richard O.Duda Peter E.Hart David G.Stork 李宏东等译 出版社: 机械工业出版社 出版日期: 2004年2月 6、机器学习,Mitchell,曾华军(译),机械工业出版社; 7、Computer Vision: Algorithms and Applications, Richard szeliski; 8、Pattern Recognition & Machine Learning, M.Bishop, Springer.这本书,目前还没有中文版的