OpenCV学习一步步
跟着OpenCV的手册一步步掌握OpenCV的各种基本结构,学习图像处理中的常见基础算法。既是自己历程的记录,也分享给所有爱好数字图像处理的筒子们。
xiahouzuoxin
这个作者很懒,什么都没留下…
展开
-
搭建Qt界面的OpenCV开发环境
OpenCV包含了大量的机器视觉处理算法,虽然也提供了highgui的界面功能,但实在有限(也就是一个窗口,加一些使用像素进行绘图的方法),与用户交互相关的功能极少(比如有Trackbar),貌似连个可视化的用户接口的button也没见过,而Qt正好能弥补OpenCV在这些方面的不足:通过OpenCV完成底层算法,用Qt完成上层的应用接口,哇咔,这不是完美组合么!本文原来的初衷是想通过Qt开发来实原创 2014-12-03 09:39:55 · 38253 阅读 · 16 评论 -
OpenCV图像处理篇之边缘检测算子
3种边缘检测算子灰度或结构等信息的突变位置是图像的边缘,图像的边缘有幅度和方向属性,沿边缘方向像素变化缓慢,垂直边缘方向像素变化剧烈。因此,边缘上的变化能通过梯度计算出来。一阶导数的梯度算子对于二维的图像,梯度定义为一个向量,Gx对于x方向的梯度,Gy对应y方向的梯度,向量的幅值本来是 mag(f) = (Gx2 + Gy2)1/2,为简化计算,一般用mag(f)=|Gx|+|Gy|近似,幅值同时原创 2014-11-16 15:41:57 · 46193 阅读 · 2 评论 -
OpenCV图像处理篇之阈值操作函数
阈值操作类型这5种阈值操作类型保留opencv tutorials中的英文名称,依次为:Threshold Binary:即二值化,将大于阈值的灰度值设为最大灰度值,小于阈值的值设为0。Threshold Binary, Inverted:将大于阈值的灰度值设为0,大于阈值的值设为最大灰度值。Truncate:将大于阈值的灰度值设为阈值,小于阈值的值保持不变。Threshold to Zero:将原创 2014-11-12 17:42:09 · 15279 阅读 · 0 评论 -
OpenCV图像处理篇之采样金字塔
转载请注明出处:http://xiahouzuoxin.github.io/notes图像金字塔图像金字塔是通过将原始图像经过平滑、下采样所生成一系列具有不同分辨率的图像的集合。金字塔结构(Pyramid)适于多分辨率处理的一种图像存储数据结构。最常用的生成图像金字塔的方法是采用高斯函数平滑图像,每次将分辨率降低为原来的一半,由此得到一个图像序列{ML,ML-1,……,M0},图像金字塔的存储量为原创 2014-09-20 20:25:45 · 15850 阅读 · 3 评论 -
OpenCV图像处理篇之腐蚀与膨胀
转载请注明出处:http://xiahouzuoxin.github.io/notes腐蚀与膨胀腐蚀和膨胀是图像的形态学处理中最基本的操作,之后遇见的开操作和闭操作都是腐蚀和膨胀操作的结合运算。腐蚀和膨胀的应用非常广泛,而且效果还很好:腐蚀可以分割(isolate)独立的图像元素,膨胀用于连接(join)相邻的元素,这也是腐蚀和膨胀后图像最直观的展现去噪:通过低尺寸结构元素的腐蚀操作很容易去掉分散原创 2014-09-19 22:18:31 · 38204 阅读 · 0 评论 -
OpenCV图像处理篇之图像平滑
图像平滑算法图像平滑与图像模糊是同一概念,主要用于图像的去噪。平滑要使用滤波器,为不改变图像的相位信息,一般使用线性滤波器,其统一形式如下:其中h称为滤波器的核函数,说白了就是权值。不同的核函数代表不同的滤波器,有不同的用途。在图像处理中,常见的滤波器包括:归一化滤波器(Homogeneous blur)也是均值滤波器,用输出像素点核窗口内的像素均值代替输出点像素值。高斯滤波器(Guassian原创 2014-09-18 21:24:57 · 29350 阅读 · 0 评论 -
OpenCV基础篇之图像的DFT频域变换
本文给出使用OpenCV实现图像从空域到频域变换的程序,并给出相关的程序注解及图像频域的物理含义解释,请看正文。。。。原创 2014-09-16 21:51:22 · 28035 阅读 · 8 评论 -
OpenCV基础篇之查找表
程序及分析/* * FileName : lookup_table.cpp * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Sun 01 Jun 2014 04:35:37 PM CST * Brief : * * Copyright (C) MICL,USTB */#include原创 2014-07-31 18:38:29 · 7821 阅读 · 0 评论 -
OpenCV基础篇之像素操作对比度调节
程序及分析/* * FileName : contrast.cpp * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Tue 29 Jul 2014 08:09:57 PM CST * Brief : * * Copyright (C) MICL,USTB */#include #inc原创 2014-07-30 12:39:01 · 4622 阅读 · 0 评论 -
OpenCV基础篇之绘图及RNG随机数对象
程序及分析/* * FileName : random_gen.c * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Tue 29 Jul 2014 08:31:41 PM CST * Brief : * * Copyright (C) MICL,USTB */#include #inc原创 2014-07-30 12:38:28 · 6169 阅读 · 0 评论 -
OpenCV基础篇之像素访问
程序及分析/* * FileName : get_pixels.cpp * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Sun 01 Jun 2014 06:40:54 PM CST * Brief : * * Copyright (C) MICL,USTB */#include #i原创 2014-07-30 12:37:16 · 3341 阅读 · 0 评论 -
OpenCV基础篇之Mat数据结构
程序及分析/* * FileName : MatObj.cpp * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Thu 15 May 2014 09:12:45 PM CST * Brief : * * Copyright (C) MICL,USTB */#include #inclu原创 2014-07-30 12:36:16 · 56788 阅读 · 1 评论 -
OpenCV基础篇之图片叠加
程序及分析/* * FileName : blend.cpp * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Mon 28 Jul 2014 08:47:59 PM CST * Brief : * * Copyright (C) MICL,USTB */#include #includ原创 2014-07-30 12:36:04 · 6060 阅读 · 2 评论 -
OpenCV基础篇之使用CMake管理工程
程序及分析/* * FileName : read.cpp * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Tue 13 May 2014 07:34:25 PM CST * Brief : * * Copyright (C) MICL,USTB */#include #include原创 2014-07-30 12:35:13 · 5720 阅读 · 0 评论 -
OpenCV基础篇之读取显示图片
程序及分析/* * FileName : read.cpp * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Tue 13 May 2014 07:34:25 PM CST * Brief : * * Copyright (C) MICL,USTB */#include #include原创 2014-07-30 12:31:56 · 3156 阅读 · 0 评论 -
CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
已测试环境:CentOS 6.3 32bitCentOS 6.5 64bit曾经在CentOS 6.3 32bit安装过OpenCV,参见CentOS 6.3中安装OpenCV2.3.1,如今换了64bit系统,大刀阔斧,重新来一遍。检查并安装相关程序,确保gtk安装成功,否则无法显示图片yum install gcc-c++ # g++编译yum install gt原创 2014-07-30 12:33:22 · 4553 阅读 · 4 评论