opencv
lxfl24
这个作者很懒,什么都没留下…
展开
-
opencv 计时
OpenCV提供了两个简便的可用于计时的函数 getTickCount() 和 getTickFrequency() 。第一个函数返回你的CPU自某个事件(如启动电脑)以来走过的时钟周期数,第二个函数返回你的CPU一秒钟所走的时钟周期数。这样,我们就能轻松地以秒为单位对某运算计时:double t = (double)getTickCount();// 做点什么 ...t = ((double)原创 2015-08-09 16:28:20 · 403 阅读 · 0 评论 -
opencv split图像通道分割
spilt()将多通道图分为单通道图组,merge()实现相反功能;#include <QCoreApplication>#include <opencv2/opencv.hpp>int main(int argc, char *argv[]){ cv::Mat img; // std::vector<cv::Mat> mv; // vector形式 cv::Mat mv[原创 2015-08-05 10:59:52 · 509 阅读 · 0 评论 -
opencv scalar
scalar是opencv总的一个模板类,可以有四个元素的向量。 在opencv中广泛用于传递像素值; 如在mat定义中cv::Mat mat(7,7,,CV_32FC2,cv::Scalar(1,3));cv::Mat M(7,7,CV_32FC1,cv::Scalar(1,3));cv::Mat M(7,7,CV_32FC3,cv::Scalar(1,3))在图像的颜色定义中 cv::put原创 2015-08-05 10:03:02 · 425 阅读 · 0 评论 -
opencv putText图片中写文字
图片中写入文字#include <QCoreApplication>#include <opencv2/opencv.hpp>int main(int argc, char *argv[]){ //QCoreApplication a(argc, argv); cv::Mat img; img = cv::imread("opencv.jpg"); //std::原创 2015-08-05 10:42:19 · 3956 阅读 · 0 评论 -
反向投影
在学习使用反向投影查找物体时,觉得对反向投影不甚理解。故在opencv官方说明中找到了关于反向投影的说明和实例,先记录分析如下:什么是反向投影? ◆ 反向投影是一种记录给定图像中的像素点如何适应直方图模型像素分布的方式。 ◆ 简单的讲, 所谓反向投影就是首先计算某一特征的直方图模型,然后使用模型去寻找图像 中存在的该特征。 ◆ 例如, 你有一个肤色直方图 ( Hue-Saturation 直原创 2015-08-18 10:21:50 · 314 阅读 · 0 评论 -
直方图计算
图像直方图,包含在广义的直方图中。■ 直方图是对数据的集合 统计 ,并将统计结果分布于一系列预定义的 bins 中。 ■ 这里的 数据 不仅仅指的是灰度值 (如上一篇您所看到的), 统计数据可能是任何能有效描述图像的特征。 ■ 先看一个例子吧。 假设有一个矩阵包含一张图像的信息 (灰度值 0-255): ■ 如果我们按照某种方式去 统计 这些数字,会发生什么情况呢? 既然已知数字的 范围 包含转载 2015-08-18 14:12:01 · 859 阅读 · 0 评论 -
cv::saturate_cast的使用
saturate_cast是防溢出 保护。大致的原理应该如下if(data<0) data=0; else if(data>255) data=255;处理中区别如下:原创 2015-08-06 14:40:44 · 1599 阅读 · 0 评论 -
遍历图像和领域操作
对图像进行滤波可理解为用其核心矩阵对图像矩阵做处理。如在本例中是对图像做锐化处理,锐化滤波器的核心矩阵为: 0 -1 0 -1 5 -1 0 -1原创 2015-08-06 15:13:34 · 405 阅读 · 0 评论 -
Mat 中step
网络上对Mat的详解,绝大多数是翻译官方的manual,而官方的manual却恰好对部分(官方认为)我们平时很少使用的内容没有详细的解释,或者对一些实现没有解释细节,因此我们就很难在刚入门时迅速地对某些内容有详细的认识,Mat的step就是其中之一。在经过数天对Mat的研究,也对step有一定的认识了,这里说出我的愚见以抛砖引玉,有不足或错误之处希望各位指出,谢谢。其实对step成员数组的解释就是s转载 2015-08-06 10:47:17 · 392 阅读 · 0 评论 -
简单图像算术
因为图像只是一般矩阵,所以条码可以做加减乘除运算。 当需要图像上叠加信息时就需要使用图像加法,加法示例如下:#include <QCoreApplication>#include <opencv2/opencv.hpp>int main(int argc, char *argv[]){ // QCoreApplication a(argc, argv); cv::Mat image原创 2015-08-06 17:14:30 · 313 阅读 · 0 评论 -
算法设计中的策略(strategy)模式
#include <QCoreApplication>#include <opencv2/opencv.hpp>class ColorDetector{public: ColorDetector():minDist(100){ target[0]=target[1] = target[2] = 0; } cv::Mat process(const cv::M原创 2015-08-07 13:09:36 · 312 阅读 · 0 评论 -
归一化
opencv 中提供的归一化函数C++: void normalize(const InputArray src, OutputArray dst, double alpha=1, double beta=0, int normType=NORM_L2, int rtype=-1, InputArray mask=noArray())C++: void normalize(const Sparse转载 2015-08-13 09:47:44 · 454 阅读 · 0 评论 -
直方图学习使用
原文出处:http://www.cnblogs.com/tornadomeet/archive/2012/05/03/2480824.html直方图在cv领域到处可见,因为其功能在cv算法的实现中必不可少。Opencv库中也集成了关于直方图的不少函数,比如直方图的计算,均衡,归一化,相似度比较等等。为了体验这些函数,做了个小实验,功能是:打开摄像头,鼠标选定一个框,框内图像作为标准图像,计算出其直方转载 2015-08-17 10:45:29 · 361 阅读 · 0 评论 -
opencv 将c格式的指针转换为mat
opencv2后 主要使用Mat ;将c格式下的图片转换为mat方法如下: IplImage* ipImage = cvLoadImage("E://girl-2.jpg"); cv::Mat image(ipImage,false); // 将c格式图片转换为mat其中 image中的false表示不创建新图,ture表示创建新图; 为避免出现野指针 opencv2 创建了 如下智能指针模原创 2015-08-04 14:09:17 · 1387 阅读 · 0 评论 -
Mat及其读写
基本上讲 Mat 是一个类,由两个数据部分组成:矩阵头(包含矩阵尺寸,存储方法,存储地址等信息)和一个指向存储所有像素值的矩阵(根据所选存储方法的不同矩阵可以是不同的维数)的指针。矩阵头的尺寸是常数值,但矩阵本身的尺寸会依图像的不同而不同,通常比矩阵头的尺寸大数个数量级。因此,当在程序中传递图像并创建拷贝时,大的开销是由矩阵造成的,而不是信息头。OpenCV是一个图像处理库,囊括了大量的图像处理函数原创 2015-08-09 09:42:09 · 411 阅读 · 0 评论 -
minMaxLoc用法
minMaxLoc Finds the global minimum and maximum in an array. 在矩阵中需找全局的最大最小数。C++: void minMaxLoc(InputArray src, double* minVal, double* maxVal=0, Point* minLoc=0, Point* maxLoc=0, InputArray mask=noAr原创 2015-08-25 09:39:17 · 8359 阅读 · 0 评论 -
cv::minMaxLoc()
Finds the global minimum and maximum in an array. 找出最大值和最小值,其中返回值必须为double类型。C++: void minMaxLoc(InputArray src, double* minVal, double* maxVal=0, Point* minLoc=0, Point* maxLoc=0, InputArray mask=noA原创 2015-08-11 11:12:56 · 3552 阅读 · 0 评论 -
opencv 元素遍历
opencv遍历元素主要有c格式的[ ]型(指针型),迭代器方法,相关返回值,LUT; 其中指针型速度较快,迭代器法安全,相关型适合于特定的元素访问;速度最快的是lut法。使用图像压缩的过程测试各种算法的特定,图像压缩公式: 原理是,uchar (无符号字符,即0到255之间取值的数)类型的值除以 int 值,结果仍是 char 。因为结果是char类型的,所以求出来小数也要向下取整。利用这一原创 2015-08-11 09:28:08 · 354 阅读 · 0 评论 -
opencv2 计算机机器视觉编程手册 代码
http://www.hahack.com/wiki/opencv-video.html原创 2015-08-26 14:07:06 · 282 阅读 · 0 评论 -
OpenCV - Rotation (Deskewing)
In a previous article I presented how to compute the skew angle of a digitized text document by using the Probabilistic Hough Transform. In the last article I presented how to compute a bounding b转载 2015-07-23 08:59:12 · 963 阅读 · 0 评论 -
opencv官方范例之calHist()
calHist()求直方图#include <cv.h>#include <highgui.h>using namespace cv;int main( int argc, char** argv ){ Mat src, hsv; if( argc != 2 || !(src=imread(argv[1], 1)).data ) return -1; cvt转载 2015-08-12 10:15:41 · 865 阅读 · 0 评论 -
膨胀与腐蚀
形态学操作 形态学操作就是基于形状的一些列图像处理操作。通过结构元素作用于输入图像产生输出图像。 结构元素,就是形态学操作的处理内核。通过内核与图像的卷积完成处理过程。内核可以有各种形状如矩形,圆形,菱形。结构元素的锚点(即与处理元素重合的点)默认为中心(参数cv::Point()-1,-1).opencv一般默认3*3的结构元素,我们也可以自己定义1,3,5,7尺寸的结构元素原创 2015-08-26 09:57:40 · 448 阅读 · 0 评论 -
opencv用形态学方法行计算文字角度
opencv利用案例,使用形态学的办法计算如下文字的行角度,以利于后续处理中将文字角度矫正。 在以前的方法中使用houg变化的方法求取直线群,然后用计算直线平均角的办法计算整体角度。这里使用形态学办法;void compute_skew(const char* filename){ cv::Mat img = cv::imread(filename, 0); cv::thresho翻译 2015-07-27 15:44:12 · 679 阅读 · 0 评论 -
Opencv_Rotation
In a previous article I presented how to compute the skew angle of a digitized text document by using the Probabilistic Hough Transform. In the last article I presented how to compute a bounding box us转载 2015-07-24 11:05:28 · 491 阅读 · 0 评论 -
split_merge
split将(矩阵或者向量)按通道分开,merge反之;split: Copies each plane of a multi-channel matrix into an array. C++: void gpu::split(const GpuMat& src, GpuMat* dst, Stream& stream=Stream::Null()) C++: void gpu::split原创 2015-08-14 14:31:09 · 447 阅读 · 0 评论 -
感兴趣区域
感兴趣区域的设定是在原图中划出指定范围,此过程并不复制数据故所以对感兴趣区域的操作都将改变原图。同时由于感兴趣区域相当于另一个mat 故可以单独作为一个mat的操作来操作。#include <QCoreApplication>#include <opencv2/opencv.hpp>int main(int argc, char *argv[]){ cv::Mat imageROI;原创 2015-08-07 09:15:39 · 338 阅读 · 0 评论