OpenCV初学者:图像显示与视频处理小程序
out"); cvWaitKey(0); cvDestroyWindow("win1"); cvDestroyWindow("win2"); cvReleaseImage(&in); cvReleaseImage(&out); } "这是一个关于OpenCV入门程序的集合,包含了显示图片、读取视频以及图像平滑处理的基础示例。" 在OpenCV这个强大的计算机视觉库中,上述代码提供了几个简单的应用示例,帮助初学者快速入门。首先,我们来看第一个程序: 1. 显示图片:这个小程序展示了如何使用OpenCV加载并显示一张图片。`cvLoadImage()`函数用于加载图片,`cvNamedWindow()`创建一个窗口,并用`cvShowImage()`在该窗口显示图片。`cvWaitKey(0)`会暂停程序,直到用户按键,最后`cvDestroyWindow()`和`cvReleaseImage()`分别销毁窗口和释放图片内存。 接着是第二个程序: 2. 读取视频:这个例子演示了如何打开并播放一个视频文件。`cvCreateFileCapture()`函数用于创建一个视频捕捉对象,`cvQueryFrame()`可以从视频文件中获取每一帧。`cvShowImage()`在指定窗口显示视频帧,`cvWaitKey()`等待用户按键,当用户按下Esc键(ASCII码27)时,程序结束。`cvReleaseCapture()`和`cvDestroyWindow()`同样用于释放资源和关闭窗口。 最后是第三个程序: 3. 图像平滑处理:此程序加载一张灰度图像,然后使用`cvCreateImage()`创建一个新的图像,与原图尺寸相同。`cvSmooth()`函数对图像进行高斯滤波,实现平滑处理,参数指定了滤波器大小。处理后的图像在两个窗口中显示,`win1`展示原始图像,`win2`展示平滑处理后的图像。同样地,结束后释放相关资源。 这些小程序涵盖了OpenCV的基本操作,包括图像加载、显示、视频处理以及图像滤波,对于初学者来说是非常好的学习材料。通过实践这些代码,可以更好地理解OpenCV的工作原理,并为更复杂的计算机视觉任务打下基础。
#include<cv.h>
#include<highgui.h>
int main()
{
IplImage* img = cvLoadImage("d:\\两代同堂.jpg");
cvNamedWindow("图图");
cvShowImage("图图", img);
cvWaitKey(0);
cvDestroyWindow("图图");
cvReleaseImage(&img);
}
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
2.打开窗口播放视频
#include<highgui.h>
void main(){
cvNamedWindow("A mp4 vedio", CV_WINDOW_AUTOSIZE);
CvCapture* capture = cvCreateFileCapture("E:\TDDOWNLOAD\八个成功秘技.mp4");
IplImage* frame;
while (1){
frame = cvQueryFrame(capture);
cvShowImage("A mp4 vedio", frame);
if (!frame)break;
c = cvWaitKey(33);
if (c == 27)break;
下载后可阅读完整内容,剩余4页未读,立即下载
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展