
opencv
文章平均质量分 68
图像工具
落日流沙
这个作者很懒,什么都没留下…
展开
-
图像 学习之 绝对尺寸与像素点数转换
note 1:像素,是图像构成的基本单位,其物理大小并没有绝对定义。如:一个22寸的电脑液晶屏像素是1920*1080,一个52寸的液晶电视像素也是1920*1080 ,他们像素数是同样的,但52寸比22寸画面就大多了,实际就是每个像素点也变大了。同分辨率下,点距越大画面尺寸越大。点距相同时,分辨率越大的画面尺寸越大。note 2;点(pt)的英文全原创 2017-02-23 19:29:32 · 3578 阅读 · 0 评论 -
opencv 学习之 液晶数字识别
算法采用纵向及横向扫描方式,对清晰图片进行了实验,效果较好。算法未检测小数点,感兴趣的同学可以Y方向腐蚀检测小数点,按照X坐标排序即可。当然,数字及字符识别,SVM、K近邻、神经网络等等这些才是正道,平常用得比较多的算法。源图如下:代码如下://DATE : 20160729//CODE FOR LIDAN NUMBER RECG#include "highgui原创 2016-12-10 10:47:27 · 8910 阅读 · 4 评论 -
opencv 学习之 Sobel算子及cvSobel
由于项目里要用到边缘检测,所以今天研究了一下最简单的梯度的方法。 首先,我们来开一下计算机是如何检测边缘的。以灰度图像为例,它的理论基础是这样的,如果出现一个边缘,那么图像的灰度就会有一定的变化,为了方便假设由黑渐变为白代表一个边界,那么对其灰度分析,在边缘的灰度函数就是一个一次函数y=kx,对其求一阶导数就是其斜率k,就是说边缘的一阶导数是一个常数,而由于非边缘的一阶导数为零,这样转载 2015-03-05 16:08:37 · 1228 阅读 · 0 评论 -
opencv 学习之 直方图
定义:直方图是图像中像素强度分布的图形表达方式.它统计了每一个强度值所具有的像素个数函数:CV_EXPORTS void calcHist( const Mat* images, int nimages, const int* channels, InputArray mask,原创 2017-03-01 21:14:45 · 434 阅读 · 0 评论 -
opencv 学习之 基于K近邻的数字识别
本文参考两篇博客,都对KNN思路做了详细说明(1) http://blog.youkuaiyun.com/wangyaninglm/article/details/17091901(2) http://blog.youkuaiyun.com/xiaowei_cqu/article/details/23782561#(3) http://download.youkuaiyun.com/download/hust_bochu原创 2016-12-17 16:07:24 · 1460 阅读 · 0 评论 -
opencv 学习之 K近邻算法解析
http://blog.youkuaiyun.com/u010477528/article/details/53707845该篇博文中有对 K 近邻的应用讲解,本文简单说下 K 近邻原理。在已拿到 traindata 的基础上,如何识别。主要计算样本与图像间的距离,而距离主要有以下。1、欧氏距离(EuclideanDistance)欧氏距离是最易于理解的一种距离计算方法,源自欧原创 2017-03-15 09:42:32 · 1331 阅读 · 1 评论 -
opencv 学习之 SVM / ANN 图片分类(OPENCV3.2)
#include <string>#include <iostream>#include <vector> #include <opencv2/core.hpp>#include <opencv2/imgproc.hpp>#include "opencv2/imgcodecs.hpp"#include <opencv..原创 2017-09-06 10:34:04 · 7702 阅读 · 3 评论 -
opencv 学习之 转置翻转(90/180/270)
1、向右旋转90度Mat src, timg, fimg;transpose(src, timg);flip(timg, fimg, 1);转置后相当于矩阵上半部分转为左半部分,绕Y轴翻转,即相当于向右旋转。参数0绕X轴翻转,参数1绕Y轴翻转,参数-1绕双轴翻转。2、向左旋转90度,向右270度transpose(src, timg);flip(tim原创 2017-11-15 21:05:47 · 5201 阅读 · 0 评论 -
c++ 学习之 回调函数1:opencv解码显示
回掉函数这块一直似懂非懂,现在理解依旧是:自己的函数,将地址交给别人去调用,具体执行什么内容,由自己决定,什么时候执行,由别人决定。这几天有空,写了个小 demo 玩玩。写了一个解码的类,将回调函数传入进去,处理解码数据。回掉函数具体只是显示了当前帧图像。解码类如下:#include #include #include #include #include #incl原创 2018-03-24 10:27:12 · 637 阅读 · 0 评论 -
c++ 学习之 回调函数2:类中传递回调
首先声明一个解码类,解码出图像后调用回调#include #include #include #include #include #include using namespace std;using namespace cv;//利用回调函数在解码类中取图像数据typedef void(*AVFunction)(Mat img); //定义回调函数类型class原创 2018-03-24 10:53:06 · 725 阅读 · 0 评论 -
opencv 学习之 轮廓操作笔记(一)
1、轮廓之外的区域像素置0根据最小外接矩形,仿射变换至无偏转矩形。外接矩形结构体导出顶点是按顺时针结构排列的,但是起点不定。int SetExcludeRectZero(Mat & gray, RotatedRect rect){ Point2f vertex1[4], vertex2[4]; //定义外接矩形的4个顶点 //定点的排序为逆时针 rect.poin原创 2018-04-01 16:55:08 · 880 阅读 · 0 评论 -
opencv 学习之 车牌识别
去年三月写过一篇文章,就是这货:http://blog.youkuaiyun.com/u010477528/article/details/44095699车牌提取,基于OpenCV,当时仅做到车牌提取,后来懒惰吧,一拖再拖,拖到现在。接下来做一下字符分割和识别。恩,先上一张车牌吧。1、字符分割分割的话简单,方法也比较多。看网上有人通过不断切割的方式,直到出现理想轮廓,没试过,不知原创 2016-11-27 00:32:42 · 8053 阅读 · 4 评论 -
opencv 学习之 车牌提取
车牌识别分两步,一是车牌提取,而是字符识别。下面是车牌提取。VS2010。OpenCV249。//载入图像char * path = "d:\\picture\\06.jpg";IplImage * frame = cvLoadImage(path);if(!frame) return 0;cvNamedWindow("frame", 1);cvShowImage("fr原创 2015-03-06 09:48:41 · 5796 阅读 · 4 评论 -
opencv 学习之 视频读取
介绍两种方法。一种是以C原创 2014-08-15 15:03:10 · 715 阅读 · 0 评论 -
opencv 学习之 编解码方式读取
先看一段代码:原创 2014-09-16 17:40:31 · 1384 阅读 · 0 评论 -
opencv 学习之 PSNR
照例,先看代码:原创 2014-09-16 17:53:47 · 1592 阅读 · 0 评论 -
opencv 学习之 视频存储
由于 opencv 侧重于图像的处理,故其编解码能力一般。只能识别 AVI原创 2014-10-24 17:06:48 · 793 阅读 · 0 评论 -
opencv 学习之 图片内存
1、直接赋值的话,两张图片共享内存原创 2014-10-24 14:18:37 · 799 阅读 · 0 评论 -
opencv 学习之 图片存储、复制、格式转换
一些小技巧:存储:原创 2014-10-24 16:51:06 · 642 阅读 · 0 评论 -
opencv 学习之 阈值化<1> 单一阈值
先介绍几个函数。1、图像融合void cvAddWeighted( const CvArr* src1, double alpha,const CvArr* src2, double beta,double gamma, CvArr* dst );src1 :第一个原数组. alpha :第一个数组元素的权值 src2 :第二个原数组 beta :第二个数组元素的权值原创 2015-01-07 15:30:34 · 790 阅读 · 0 评论 -
opencv 学习之 阈值化<2> 自适应阈值
自适应阈值化函数:void cvAdaptiveThreshold(const CvArr* src,CvArr* dst,double max_value,int adaptive_method=CV_ADAPTIVE_THRESH_MEAN_C,int threshold_type=CV_THRESH_BINARY,int block_size=3,doub原创 2015-01-07 16:46:52 · 972 阅读 · 0 评论 -
FFmpeg 学习之 解码并 MFC+OpenCV 显示
众所周知,Opencv 在图像处理方面具有无与伦比的优势,但其在视频解码这块实在不敢恭维,智能识别 AVI 封装和少数几种 编码格式。其实 OpenCV 解码也是引用的 FFmpeg,不过编译时估计做了限制。下面的代码实现的功能是,,FFmpeg 解码视频,然后将每一帧转换为 OpenCV 可以识别的图像格式,在 MFC 图片空间中显示。配置:VS2008,OpenCV2.4.4,FF原创 2014-12-05 13:27:33 · 2368 阅读 · 0 评论