
OpenCV
文章平均质量分 67
tkp2014
这个作者很懒,什么都没留下…
展开
-
OpenCV中C++函数imread读取图片的问题
原文出处:http://www.cnblogs.com/eyeszjwang/articles/2418354.html今天在用OpenCV实验Image Pyramid的时候发现一个奇怪的问题,就是利用C++函数imread读取图片的时候返回的结果总是空,而利用C函数cvLoadImage时却能读取到图像。代码如下://环境:VS2010 + Op转载 2014-10-14 17:05:43 · 1615 阅读 · 1 评论 -
ffmpeg和Opencv结合进行视频解码播放
引子OpenCV中有自己的用于处理图片和视频的类VideoCapture,可以很方便的读入文件和显示。现在视频数据流是ffmpeg解码h264文件得到的,由于要依赖该数据源进行相应的后续处理,所以需要将ffmpeg中得到的数据缓存转换成可以被OpenCV处理的Mat类对象。ffmpeg介绍FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可转载 2015-06-25 21:43:25 · 2407 阅读 · 0 评论 -
YUV Tools 和 YUV Library
关于 YUV 的资源网站http://www.sunrayimage.com/download.html原创 2015-06-24 19:44:32 · 1251 阅读 · 0 评论 -
How to read a frame from YUV file in OpenCV?
Stack Overflow上的一个问答http://stackoverflow.com/questions/2231518/how-to-read-a-frame-from-yuv-file-in-opencv转载 2015-06-25 10:36:58 · 1210 阅读 · 0 评论 -
FFmpeg解码-Opencv数据显示-双线程调度
大致想法是:使用ffmpeg实现解码,解码后的数据转化为 Mat,调用 opencv中的函数显示,同时开启两个线程解码显示两路视频/*** 抽取ffmpeg中的函数接口实现视频解码,再通过Opencv中的函数接口播放*/#define __STDC_CONSTANT_MACROS#include #include #include // Opencv#inclu原创 2015-06-26 18:11:38 · 901 阅读 · 0 评论 -
光流法(Optical Flow)
// Dense Optical Flowhttp://www.robesafe.com/personal/pablo.alcantarilla/code.html原创 2015-06-13 15:17:55 · 751 阅读 · 0 评论 -
Opencv的配置
// 很齐全的一篇教程http://blog.youkuaiyun.com/poem_qianmo/article/details/19809337转载 2015-06-13 10:32:17 · 416 阅读 · 0 评论 -
linux下gettimeofday函数windows替换方案
链接:http://blog.sina.com.cn/s/blog_48526a5f0100iqyn.html#include #ifdef WIN32# include #else# include #endif#ifdef WIN32intgettimeofday(struct timeval *tp, void *tzp){转载 2015-06-13 13:49:37 · 2669 阅读 · 0 评论 -
vs2010如何引用相对路径
在用vs2010做项目时,避免不了要引用外部类库lib,头文件等,这时就需要在项目属性中设置外部相关文件的路径。主要有以下三种方法。工具/原料假设有如下项目:----项目名字为:mytest----外部路头径为:d:\mytest\public\include----外部库路径为:d\mytest\public\lib转载 2015-06-13 21:25:30 · 1414 阅读 · 0 评论 -
存取像素值操作
在上一讲OpenCV学习笔记(四十二)——Mat数据操作之普通青年、文艺青年、暴力青年里,对Mat内数据的各种读写操作进行了速度的比较,都是我自己想到的方法,感觉不够系统,这次整理了下思路,参考了文献,把能想到的方法进行了汇总,希望能对大家有所帮助。1.存取单个像素值最通常的方法就是[cpp] view plaincopyim转载 2015-06-13 22:19:06 · 416 阅读 · 0 评论 -
GPU编解码 - 硬解码 - CUVID
问题描述:项目中,需要对高清监控视频分析处理,经测试,其解码过程所占CPU资源较多,导致整个系统处理效率不高,解码成为系统的瓶颈。解决思路: 利用GPU解码高清视频,降低解码所占用CPU资源,加速解码过程。一、OpenCV中的硬解码 OpenCV2.4.6中,已实现利用GPU进行读取视频,由cv::gpu::VideoReader_GPU完成,其转载 2015-06-13 15:07:38 · 2806 阅读 · 0 评论 -
OpenCV中GPU模块(CUDA)函数
The OpenCV GPU module is a set of classes and functions to utilize GPU computational capabilities. It is implemented using NVIDIA* CUDA* Runtime API and supports only NVIDIA GPUs. 1. getC转载 2015-06-13 16:13:04 · 3038 阅读 · 0 评论 -
opencv读取视频文件并显示的程序详细解释
int main( int argc, char** argv ){ //======================================================== // CvCapture 是一个结构体,用来保存图像捕获所需要的信息。 // opencv提供两种方式从外部捕获图像,一种是从摄像头中,一种 // 是通过解码视频得到图转载 2015-06-14 12:00:06 · 871 阅读 · 0 评论 -
L-K光流法
函数解析cvGoodFeaturesToTrack,http://blog.youkuaiyun.com/moc062066/article/details/6634120,和cvFindCornerSubPix ,http://blog.youkuaiyun.com/moc062066/article/details/6634961两个函数的基础,接下来就是在视频中检测光流(optical转载 2015-06-14 20:03:14 · 1331 阅读 · 0 评论 -
CUDA5.5+Opencv2.4.9+VS2010+Win7 64bit
为了使用Opencv中的CUDA模块,需要使用CMake自己编译源程序,需要的文件有:CUDA、Opencv、Cmake,需要提前安装好CUDA,Opencv,Cmake,然后就是编译过程原创 2015-06-15 11:03:51 · 749 阅读 · 0 评论 -
使用opencv进行多路视频的播放
在监控领域,我们时常需要对多路视频进行实时的播放,这到底是怎么实现的呢?使用opencv的朋友可能会想:我可以先定义一个VideoCapture的数组,然后在一个for循环中,逐一读取各路视频并显示,但是这显然不是同步的,设想一下,如果有32路视频需要同时播放,而一般摄像机的帧率为25fps或30fps,那么按上述方法进行播放,第一路与第三十二路视频的延迟会有1秒多,如果我们需要在其间做一些图像处转载 2015-06-14 14:35:42 · 1701 阅读 · 0 评论 -
OpenCV中Mat与IplImage和CvMat数据类型间的相互转换
Mat类型较CvMat和IplImage有更强的矩阵运算能力,支持常见的矩阵运算(参照Matlab中的各种矩阵运算),所以将IplImage类型和CvMat类型转换为Mat类型更易于数据处理。Mat类型可用于直接存储图像信息,通过函数imread、imwrite、imshow等实现(与Matlab中的函数相似),似乎在某种程度上可以取代IplImage类型。(1)将Ip转载 2015-06-24 16:36:48 · 469 阅读 · 0 评论 -
将yuv转换为Opencv中的Ipl
int colorchannel = 3;IplImage *pCurrFrame = NULL;pInFile = fopen(input.infile, "rb"); if (pInFile == NULL) { printf("Error: Can\'t open input YUV file\\n"); exit(原创 2015-06-24 12:56:22 · 567 阅读 · 0 评论 -
读取yuv数据并做光流法处理
/**** 本程序读取yuv数据,调用 cv::cvtColor(yuvImg, frame, cv_YUV2BGR_I420)* 将yuv数据转化为Opencv能够读取的 Mat 格式数据,然后做光流法处理*/#include #include #include #include #include #include #include原创 2015-06-24 15:36:14 · 2017 阅读 · 1 评论 -
直方图计算代码
/*-----------------------------------------opencv 绘制灰度直方图,主要利用 CvHistogram()函数-----------------------------------------*/#include #include int main(){IplImage *src = cvLo原创 2014-11-01 21:10:00 · 479 阅读 · 0 评论 -
OpenCV以及GPU加速
下面是在Quora上的一个精彩问答,关于OpenCV以及如何使用GPU加速OpenCV的处理What is meant by video decoding and raw frame in video processing task?I want to read a video file using openCV CUDA C++. Howeve原创 2015-01-06 22:00:42 · 2930 阅读 · 0 评论 -
OpenCV学习资源
OpenCV: Open Source Computer Vision LibraryResourcesHomepage: http://opencv.orgDocs: http://docs.opencv.orgQ&A forum: http://answers.opencv.orgIssue tracking: http://code.opencv.org原创 2015-01-06 21:53:55 · 488 阅读 · 0 评论 -
Build OpenCV from source with CUDA support
GPU Module Introduction General InformationThe OpenCV GPU module is a set of classes and functions to utilize GPU computational capabilities. It is implemented using NVIDIA* CUDA* Runt原创 2015-01-06 21:46:47 · 1208 阅读 · 0 评论 -
Opencv读取摄像头数据
//#include #include #include #include #include int main( int argc, char** argv ){//声明IplImage指针IplImage* pFrame = NULL;//获取摄像头CvCapture* pCapture = cvCreateCameraCaptur原创 2015-06-16 21:21:19 · 692 阅读 · 0 评论 -
Opencv中常用库文件名称
opencv_calib3d248.libopencv_calib3d248d.libopencv_contrib248.libopencv_contrib248d.libopencv_core248.libopencv_core248d.libopencv_features2d248.libopencv_features2d248d.libopen原创 2015-06-16 22:14:12 · 2043 阅读 · 0 评论 -
Opencv批量读取文件夹图片
Opencv读取文件夹连续图片,RGB分量显示,图像灰度化 1.读取文件夹连续图片刚开始学习图像处理,开始只能一次读入一张图片,今天从网上查了一些资料,自己写了一个可以连续读取多张图片函数。char filename[100];char windowname[100];IplImage* pScr;unsigned char *Readfigsmethod1(int num)// 读原创 2015-06-16 12:13:13 · 1797 阅读 · 0 评论 -
基于opencv读取两个摄像头信息
由于opencv中的HighGUI模块——为我们提供了一种简单的方式读取摄像头以及视频信息。 这是使用两个usb摄像头做的测试效果。 使用了两个库,一个是cv(图像处理和视觉算法),一个是HighGUI(图像和视频的输入输出) cvnameWindow()函数用于在屏幕上创建一个窗口,并将视频显示在窗口中。 CvCap转载 2015-06-16 12:21:28 · 824 阅读 · 0 评论 -
解码图像保存单帧
/* * 2015-6-16:保存单帧图片 *//* This example demonstrates how to use the Video Decode Library with CUDA * bindings to interop between NVCUVID(CUDA) and OpenGL (PBOs). Post-Processing * video原创 2015-06-16 14:35:54 · 2133 阅读 · 0 评论 -
解码保存全部BMP图像
/* * 2015-6-16:将一个视频全部解码并保存为bmp图片 *//* This example demonstrates how to use the Video Decode Library with CUDA * bindings to interop between NVCUVID(CUDA) and OpenGL (PBOs). Post-Processi原创 2015-06-16 14:40:11 · 2403 阅读 · 0 评论 -
Opencv同时读入多个视频
#include #include #include #include int main(){cvNamedWindow("video1", 1);// cvNamedWindow("video2", 1);cvNamedWindow("video3", 1);Sleep(100);CvCapture *capture1 = cvCreate原创 2015-06-16 20:38:56 · 2193 阅读 · 0 评论 -
NV12转化为BMP函数
void SaveBMP ( BYTE* data, int w, int h ) // data指代的是解码后的原始数据,格式为:NV12{FILE *f;unsigned char *img = NULL;int filesize = 54 + 3*w*h; //w is your image width, h is image height, both i原创 2015-06-16 14:44:33 · 2578 阅读 · 1 评论 -
多线程解码并保存为yuv
// 开启多线程解码高清视频,并将解码后的原始数据yuv保存到硬盘#include #include "QueryPerformance.h" // time counter#include "windows.h"#include #include #include "cudaDecodeInterface.h"#pragma comment(lib,"cudaDe原创 2015-06-19 09:01:26 · 588 阅读 · 0 评论 -
读取yuv并转化为RGB数据在Opencv中打开显示
/*** Opencv中一般是读取 demo.avi 格式视频,下面程序是直接读取 demo.yuv 然后使用 Mat 保存* 再使用 cv::cvtColor() 将每帧的 yuv 数据转化为 rgb 然后显示*/#include #include #include #include #include #include using namespace st原创 2015-06-24 16:22:42 · 11669 阅读 · 2 评论 -
yuv420转为cv::Mat
某些特定场合我们会经常遇到yuv420格式的视频文件,这种视频帧无法直接用于opencv,故而,需要进行格式转换;幸运的是,opencv提供了rgb到yuv420的格式转换函数;下面给出基本用法;函数1:读取avi格式的视频文件,转换成Yuv420格式,并写入文件[cpp] view plaincopyvoid WriteYu转载 2015-06-24 13:13:24 · 6505 阅读 · 0 评论 -
Opencv调用GPU模块
1、OpenCV提供的开发包中提供的库没有开启gpu和ocl模块功能,虽然有***gpu.lib/***gpu.dll文件,但不能用。如果调用gpu::getCudaEnableDeviceCount()将会return 0;要开启该功能需要重新编译opencv的库。2、 参考http://docs.opencv.org/modules/gpu/doc/introduction.html和转载 2015-06-14 10:42:55 · 2747 阅读 · 0 评论