OpenCV图像处理
执剑00天涯
谋生,亦谋爱!
展开
-
利用OpenCV定位目标区域并剪切
软件环境:Qt5.5.1,msvc2012编译器,OpenCV2.4.9处理图像:CCD相机采集的一个绿色光斑,背景色是黑色。待(PS:图像存在很多噪声,暂时不做处理)目的:定位光斑所在位置,并裁剪。将实现函数写在Qt一个按键上,点击按键调用函数;1、代码分段解释:IplImage* src = cvLoadImage("D:/1.bmp",-1);cvSmooth(原创 2016-10-11 20:55:22 · 11475 阅读 · 0 评论 -
OpenCV下卡尔曼滤波器只能在debug模式运行???
OpenCV下卡尔曼滤波器只能在debug模式运行,release模式下出现如下错误:原创 2017-03-28 15:16:42 · 374 阅读 · 0 评论 -
OpenCV霍夫圆检测原理
Here I’ll tell you how to detect circles (which are quite important in computer vision application) using a technique similar to the standard Hough transform. This article assumes you know how the Hou转载 2017-05-04 09:42:04 · 3815 阅读 · 0 评论 -
基于OpenCV的离散正弦变换
离散正弦变换(Discrete SineTransform, DST):类似于DCT,离散正弦变换也有八种形式,常用的是DST-Ⅰ,一般我们提到DST而不特殊说明即指DST-Ⅰ。这里直接给出DST-Ⅰ的定义:正变换:逆变换:因此可得到变换矩阵SN:变换矩阵SN是一个正交矩阵,而且它还是一个对称矩阵(转置与本身相等),所以正变换与反变换是相同的。原创 2017-05-16 20:32:42 · 1904 阅读 · 0 评论 -
基于OpenCV的离散哈特莱变换
离散哈特莱变换(Discrete Hartley Transform, DHT):DHT公式给成正交变换的形式:其中:上面定义式中直接将定标因子写为1/N的开方,这样保证DHT的变换矩阵HN直接是正交矩阵:观察发现矩阵HN不但是正交矩阵并且还是对称矩阵(转置与本身相等),因此逆矩阵与本身相等(正交矩阵的逆矩阵等于其转置),即DHT的逆变换与正变换形式相同原创 2017-05-16 17:45:10 · 1534 阅读 · 0 评论 -
OpenCV中对矩阵的行列操作的解决方法
opencv Mat中,为什么img.row(i) = img.row(j)不能修改m的第i行,而img.row(i) = img.row(j) + 0就可以修改?img.row(j) 返回的是Mat; Mat = Mat;是不会拷贝数据的。所以第J行无法复制到第i行。img.row(j) + 0是表达式,返回的是MatExpr; Mat = MatExpr ; 是会拷贝数据的。所以第j行原创 2017-05-09 21:32:10 · 3160 阅读 · 0 评论 -
OpenCV离散余弦变换原理与源码
环境配置:VS2012 OpenCV2.4.9代码:#include "highgui.h"#include "math.h"#include "cv.h"#include "stdlib.h"using namespace cv;void DCT(Mat &src, Mat &dst){ double pi = 2.141592657; Mat C_Mat(sr原创 2017-05-02 20:51:33 · 2930 阅读 · 2 评论 -
CamShift跟踪算法
#include "opencv2/video/tracking.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#include "opencv2/core/core.hpp"#include #include using namespace cv;using nam原创 2017-03-30 21:15:57 · 1562 阅读 · 1 评论 -
OpenCV各种函数详解#include<QDebug> qDebug() << "hello";
按字母排序,整理自己用到的OpenCV的函数,持续更新。A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:cvWaitKey(int delay): 让程序延时delay毫秒后继续执行,如delay=0,则无限期等待,直到按下键盘任意按键,此函数的返回值是按下的原创 2016-11-02 22:32:18 · 2399 阅读 · 0 评论 -
OpenCV中Mat类的图像如何设置ROI
原文链接Mat类表示的图像进行ROI操作有两种方法(1)使用拷贝构造函数Mat(constMat& m, const Rect& roi ),矩形roi指定了兴趣区例如:Mat src = imread(“xx.jpg”); Mat srcROI( src, Rect(0,0,src.cols/2,src.rows/2));srcROI的数据与源图像src共转载 2016-11-02 22:06:32 · 531 阅读 · 0 评论 -
两种常见的OpenCV Error
原文链接第一个Error:OpenCV Error: Assertion failed i0 size.p[0] && <unsigned >错误原因:转载 2016-11-02 22:12:06 · 868 阅读 · 0 评论 -
OpenCV对图像局部进行滤波
先上代码:Mat img = imread("D:/3.jpg",-1); //读取图片Mat srcROT(img,Rect(0,0,img.rows/2,img.cols/2));blur(srcROT,srcROT,Size(5,5),Point(-1,-1));namedWindow("img",0); //显示处理好的图片imshow("img",img);解读函数:原创 2016-11-01 18:07:34 · 4382 阅读 · 3 评论 -
OpenCV中Mat、cvMat和IplImage类型转换
转载至《图像处理编程实例》,朱伟编著。OpenCV2.X中图像容器一般有Mat、CvMat和IplImage,Mat是一个多维的密集数据数组,常用于进行计算性较高的矩阵、图像、直方图操作等。cvMat和IplImage是OpenCV1.x中提供的基于C语言版本的图像数据容器,侧重于图像数据本身的处理性能。在实际应用场景中,我们常常需要将不同的参数类型进行相互转换。1、Mat转换为IplIm转载 2016-10-30 17:27:42 · 618 阅读 · 0 评论 -
OpenCV 随机数生成
转载值:http://blog.163.com/zhuandi_h/blog/static/180270288201278101357186/参考:http://www.opencv.org.cn/index.php/Cxcore%E6%95%B0%E7%BB%84%E6%93%8D%E4%BD%9C#.E9.9A.8F.E6.9C.BA.E6.95.B0.E7.94.9F.E6.88转载 2016-11-17 20:54:34 · 662 阅读 · 0 评论 -
CvPoint及CvPoint2D32f
可以把它当做是座标的表达方式,被包在"cxtype.h"里,最常用的点资料结构为CvPoint及CvPoint2D32f,可以在许多演算法应用上看的到. CvPoint Point1;CvPoint2D32f Point6 = cvPointTo32f(Point1); CvPoint Point7 = cvPointFrom32f(Point6); cvPoint()转载 2016-11-24 22:28:53 · 9791 阅读 · 0 评论 -
基于Qt,OpenCV去图像背景,去图像黑边软件
开发环境:Qt5.5.1 msvc2012 opencv2.4.9开发此软件目的:从导师那淘汰一台旧的相机式扫描仪,相机照出来的图片效果不佳,有暗黄色背景,有黑边,软件作用就是除去这些噪声。软件UI及效果:源代码:mainwindow.cpp:#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::Ma原创 2017-01-08 22:31:42 · 4020 阅读 · 8 评论 -
OpenCV分离图像通道
opencv的imread函数读取的灰度图是单通道的。opencv分离图像通道:源码: Mat img = imread("D:/1.jpg",1); Mat imgR,imgG,imgB; vector channels; split(img,channels); imgR = channels.at(0); imgG = chann原创 2017-01-10 16:40:08 · 813 阅读 · 1 评论 -
OpenCV训练人脸分类器步骤解析
从网上下载人脸图片正样本,背景负样本各1000张,正样本放在D:\classify\posdata文件夹下,负样本放在D:\classify\negdata文件夹下,正负样本要裁剪一样大小,在此作者采用样20*20大小样本,准备工作做完。1、生成负样本描述文件negdata.dat,(注意这是.dat格式文件不是.bat批处理文件)路径为D:\classify\negdata\negdata.原创 2017-03-20 19:55:11 · 2934 阅读 · 0 评论