My first day of OpenCV

本文从基础知识入手,介绍了OpenCV的功能及其在监控、无人飞船、游戏接口、生物医学等领域的广泛应用。深入探讨了OpenCV的结构与内容,包括CV组件、机器学习库、高GUI库和CXCore库,并提供了一个简单的程序示例,详细解释了cvLoadImage函数和cvNamedWindow函数的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不是第一次用OpenCV,但也算第一天开始正式学习OpenCV。此前的学习都是抱着纯实用的态度,半吊子地学,在“抄”代码中学习使用。

今天开始《Learning OpenCV》英文版的正式阅读。

What Is OpenCV?Who Uses OpenCV?What Is Computer Vision?这一章节老老实实地看完了,不得不说还是加深了不少理解。监控,无人飞船,游戏接口,生物医学,应用颇广。

OpenCV Structure and Content这一部分清楚地讲清了几个lib:

CV component :contains the basic image processing and higher-level computer vision algorithms;

图像处理与高级计算机视觉算法

ML is the machine learning library, which includes many statistical classifiers and clustering tools.

机器学习,包含很多统计分类器和聚类工具

HighGUI contains I/O routines and functions for storing and loading video and images.

输入输出,存储与加载视频与影像

CvAux is not particularly well documented in the Wiki and is not documented at all in
the .../opencv/docs subdirectory.

比较奇葩,有部分在CV中,也有部分不在。它在otherlibs文件夹下也正说明其奇葩吧。

CXCore contains the basic data structures and content.

基本数据结构和内容

 

最后,简单程序附一个,程序简单,还是废了我这小白一番功夫调试正确

#include "highgui.h"

void main() {
IplImage* img = cvLoadImage( "1.jpg", CV_LOAD_IMAGE_COLOR);
cvNamedWindow( "Example1", 0 );
cvShowImage( "Example1", img );
cvWaitKey(0);
cvReleaseImage( &img );
cvDestroyWindow( "Example1" );

}

说明:

(1)百度百科解释cvLoadImage

函数原型:IplImage* cvLoadImage( const char* filename, int flags=CV_LOAD_IMAGE_COLOR );
filename :要被读入的文件的文件名(包括后缀);
flags :指定读入图像的颜色和深度:
指定的颜色可以将输入的图片转为3信道(CV_LOAD_IMAGE_COLOR), 单信道 (CV_LOAD_IMAGE_GRAYSCALE), 或者保持不变(CV_LOAD_IMAGE_ANYCOLOR)。
深度指定输入的图像是否转为每个颜色信道每象素8位,(OpenCV的早期版本一样),或者同输入的图像一样保持不变。
选中CV_LOAD_IMAGE_ANYDEPTH,则输入 图像格式可以为8位无符号,16位无符号,32位有符号或者32位 浮点型
如果输入有冲突的标志,将采用较小的数字值。比如CV_LOAD_IMAGE_COLOR | CV_LOAD_IMAGE_ANYCOLOR 将载入3信道图。CV_LOAD_IMAGE_ANYCOLOR和CV_LOAD_IMAGE_UNCHANGED是等值的。但是,CV_LOAD_IMAGE_ANYCOLOR有着可以和CV_LOAD_IMAGE_ANYDEPTH同时使用的优点,所以CV_LOAD_IMAGE_UNCHANGED不再使用了。
(2)需要注意的cvNamedWindow
原文:
The second argument to cvNamedWindow( ) defines window properties. It may be set either
to 0 (the default value) or to CV_WINDOW_AUTOSIZE. In the former case, the size of the
window will be the same regardless of the image size, and the image will be scaled to
fi t within the window. In the latter case, the window will expand or contract automatically
when an image is loaded so as to accommodate the image’s true size.

如果想正常显示,对于大图神马的还是参数用0(默认值)吧,否则可能看到的只是图像一小部分,window只展现很小的一部分哦~

 

转载于:https://www.cnblogs.com/my-idiot-days/archive/2013/01/25/2877410.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值