相关文章
视频图像处理基础-获取图像的仿真数据流
2024-12-16 09:49

zynq架构之别人整理http://xilinx.eetrend.com/blog/4415

在验证算法时,首先第一步就是如何载入图片进行验证,这里的图像包括图像,视频数据流,外部摄像头的调用~

HLS中两种基础的加载方法:

1)通过 cvLoadImage 函数加载图片

格式: IplImage* src = cvLoadImage(INPUT_IMAGE); cvShowImage("src",src);

函数原型:IplImage* cvLoadImage(const char*filename,int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR));

filename :要被读入的文件的文件名(包括后缀);

iscolor:指定读入图像的颜色和深度; 指定的颜色可以将输入的图片转为 3 信道(CV_LOAD_IMAGE_COLOR),单信道 (CV_LOAD_IMAGE_GRAYSCALE),或者保持不变(CV_LOAD_IMAGE_ANYCOLOR)。

一个简单的小栗子:通过 cvLoadImage 函数读取图片显示

源码及结果如下图:

 

2)通过Imreadd函数读取图片

格式: Mat src_rgb = imread(INPUT_IMAGE); IplImage src = src_rgb; cvShowImage("src",&src);

首先,我们看 imread 函数,可以在官方文档中查到其原型如下: CV_EXPORTS_W Mat imread( const string& filename, int flags=1 );

第一个参数,const string&类型的 filename,填我们需要载入的图片路径名。

第二个参数,int 类型的 flags,为载入标识,它指定一个加载图像的颜色类型。可以看到它自带 缺省值 1.所以有时候这个参数在调用时我们可以忽略,如 果在调用时忽略这个参数,就表示载入三通道的彩色图像。

再举一个简单的小栗子:

3.3 视频流文件的载入

cvCaptureFromAVI 函数进行视频文件的载入

格式:cvCaptureFromAVI("AVI 文件名称");

功能:用来播放 AVI 文件视频;

用 cvCaptureFromAVI()跟 cvCaptureFromFile(),cvCreateFileCapture()都是一样的作 用;文件的类型不一定必须是 AVI 格式,只要文件符合 OpenCV 支持的格式就能播放。

格式:int cvGrabframe(CvCapture 结构体)

功能:将 capture 抓下來的相片放在 OpenCV 中;其与 cvQueryframe()是相同的步骤; cvGrabframe()返回值为 0 或 1;0 是失败,1 是成功。

格式:cvRetrieveframe(CvCapture 结构);

功能:从 OpenCV 得到 frame,并配置给 IplImage 结构体;其中: cvQueryframe()=cvGrabframe()+cvRetrieveframe().

举一个小例子:

 

3.4 外部摄像头的调用

CvCapture*cvCaptureFromCAM( int index );

参数:index 要使用的摄像头索引。释放这个结构,使用函数 cvReleaseCapture。

要将视频写入文件中,使用 cvWriteframe 写入一帧到一个视频文件中 int cvWriteframe( CvVideoWriter* writer, const IplImage* image );

通过摄像头捕获视频数据的关键代码如下,并且通过调用外部 USB 摄像头成功采集到视频数据,为 后期算法验证提供了测试依据。

    以上就是本篇文章【视频图像处理基础-获取图像的仿真数据流】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/quote/3842.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站http://ww.kub2b.com/mobile/,查看更多   
发表评论
0评