opencv中文手册精编版

合集下载

opencv 使用手册

opencv 使用手册

opencv 使用手册OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,提供了很多函数,这些函数非常高效地实现了计算机视觉算法。

OpenCV 使用 C/C++ 开发,同时也提供了 Python、Java、MATLAB 等其他语言的接口。

OpenCV 是跨平台的,可以在 Windows、Linux、Mac OS、Android、iOS 等操作系统上运行。

OpenCV 的应用领域非常广泛,包括图像拼接、图像降噪、产品质检、人机交互、人脸识别、动作识别、动作跟踪、无人驾驶等。

OpenCV 还提供了机器学习模块,可以使用正态贝叶斯、K最近邻、支持向量机、决策树、随机森林、人工神经网络等机器学习算法。

要使用 OpenCV,首先需要安装 OpenCV 库。

可以使用 pip 命令安装opencv-python 和 opencv-contrib-python。

安装完成后,可以通过以下命令导入 OpenCV 模块:```pythonimport cv2 as cv```然后可以调用 OpenCV 提供的各种函数来处理图像和视频。

例如,可以使用 `()` 函数读取图像,使用 `()` 函数显示图像,使用 `()` 函数等待用户按键,使用 `()` 函数关闭所有窗口。

以下是一个简单的示例代码,用于读取一张图片并显示出来:```pythonimport cv2 as cv读取图片img = ("./data/")显示图片("image", img)等待用户按键,按下 q 键退出while True:if (1000) & 0xFF == ord("q"):break()```以上是 OpenCV 的基本使用手册,更多详细信息和函数文档可以在OpenCV 官方网站上查看。

opencv使用手册

opencv使用手册

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,它包含了大量的图像处理和计算机视觉算法。

以下是OpenCV的使用手册:1. 安装OpenCV首先需要下载OpenCV的源代码并进行编译,生成动态链接库(DLL)和头文件。

可以从OpenCV 的官方网站下载最新版本的源代码。

2. 使用OpenCV在使用OpenCV之前,需要包含OpenCV的头文件和链接相应的动态链接库。

在C++中,可以使用以下代码包含OpenCV的头文件:#include <opencv2/opencv.hpp>在使用OpenCV时,通常需要创建一个VideoCapture或FileCapture对象来读取图像或视频流,并创建一个Mat对象来存储图像数据。

以下是一个简单的读取图像并显示的例子:#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;int main(int argc, char** argv){// 打开摄像头VideoCapture cap(0);if (!cap.isOpened()){cout << "Failed to open camera!" << endl;return 1;}// 读取并显示图像Mat img;cap.read(img);imshow("Image", img);// 等待用户按下任意键waitKey(0);// 释放资源cap.release();return 0;}3. 图像处理OpenCV提供了丰富的图像处理函数,包括滤波、边缘检测、形态学操作、特征提取等等。

以下是一个简单的图像滤波例子:#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;int main(int argc, char** argv){// 读取图像Mat img = imread("lena.jpg");if (img.empty()){cout << "Failed to open image file!" << endl;return 1;}// 高斯滤波Mat filtered_img;GaussianBlur(img, filtered_img, Size(7, 7), 0, 0);// 显示结果imshow("Filtered Image", filtered_img);// 等待用户按下任意键waitKey(0);// 释放资源return 0;}4. 视频处理OpenCV还提供了视频处理的功能,包括视频捕获、视频处理、视频输出等等。

opencv训练图像集中文版资料

opencv训练图像集中文版资料

级联分类器训练引言级联分类器的工作主要包括两个阶段:训练和检测。

检测阶段被描述在一个常规的OpenCV 文件的objdetect 模块的文档里。

文档介绍了级联分类器的一些基本信息。

目前的指南描述了如何训练级联分类器:一个训练数据集和运行训练应用程序的准备。

重要的笔记在OpenCV里有两个应用程序可以用来训练级联分类器:opencv_haartraining和opencv_traincascade。

opencv_traincascade是一个较新的版本,用C++按照OpenCV 2.x API 的标准编写。

但这两个应用程序之间的主要区别是,opencv_traincascade同时支持Haar [Viola2001] 和LBP [Liao2007](局部二值模式)的特征。

相比于Haar特征,LBP特征是整数,所以用LBP训练和检测比用Haar特征快好几倍。

至于LBP和Haar的检测质量取决于训练:首先是训练数据集的品质还有训练参数。

训练一个和基于Haar的分类有几乎相同的质量的基于LBP的分类是有可能的。

opencv_traincascade和opencv_haartraining以不同的文件格式存储训练好的分类器。

值得注意的是,较新的级联检测接口(见objdetect模块的级联分类器类)两种格式都支持。

opencv_traincascade可以用旧格式保存(输出)训练好的级联。

但opencv_traincascade和opencv_haartraining无法在中断后以另一种格式加载(输入)一个分类器来进一步训练。

注意,opencv_traincascade应用程序可以使用TBB实现多线程。

在多核模式下使用,OpenCV 必须要用TBB来构建。

并且这有一些和训练相关的辅助工具。

·opencv_createsamples是用来准备正训练数据集和测试样本集的。

opencv_createsamples产生一个opencv_haartraining和opencv_traincascade都支持的格式的正样本数据集。

OpenCv参考手册-CvImage类参考手册

OpenCv参考手册-CvImage类参考手册

OpenCv参考手册-CvImage类参考手册CvImage类参考手册Wikipedia,自由的百科全书CvImage使用前需要包含 cv.h 头文件#include目录1 CvImage::CvImage2 CvImage::~CvImage3 CvImage::clone4 CvImage::create5 CvImage::release6 CvImage::clear7 CvImage::attach8 CvImage::detach9 CvImage::load10 CvImage::read11 CvImage::save12 CvImage::write13 CvImage::show14 CvImage::is_valid15 CvImage::width16 CvImage::height17 CvImage::size18 CvImage::roi_size19 CvImage::roi20 CvImage::coi21 CvImage::set_roi22 CvImage::reset_roi23 CvImage::set_coi24 CvImage::depth25 CvImage::channels26 CvImage::pix_size27 CvImage::data28 CvImage::step29 CvImage::origin30 CvImage::roi_row31 运算符重载32 编写者[编辑]CvImage::CvImagebool CvImage::CvImage();bool CvImage::CvImage(CvSize size, int depth, int channels);bool CvImage::CvImage(IplImage* pIplImg);bool CvImage::CvImage(const CvImage& cvImg);bool CvImage::CvImage(const char* filename, const char* imgname=0, int color=-1);bool CvImage::CvImage(CvFileStorage* fs, const char* mapname, const char* imgname);bool CvImage::CvImage(CvFileStorage* fs, const char* seqname, int idx);默认构造函数,创建一个图像。

OpenCV中文入门

OpenCV中文入门

Open Source Computer Vision Library by Gary R. Bradski, Vadim Pisarevsky, and Jean-Yves Bouguet, Springer, 1st ed. (June, 2006).视频处理例程(位于<opencv-root>/samples/c/目录中):色彩跟踪: camshiftdemo点跟踪: lkdemo动作分割: motempl边缘检测: laplace图像处理例程(位于<opencv-root>/samples/c/目录中):边缘检测: edge分割: pyramid_segmentation形态: morphology直方图: demhist距离转换: distrans椭圆拟合 fitellipseOpenCV 命名约定函数命名:cvActionTarget[Mod](...)Action = 核心功能(例如设定set, 创建create)Target = 操作目标(例如轮廓contour, 多边形polygon)[Mod] = 可选修饰词(例如说明参数类型)矩阵数据类型:CV_<bit_depth>(S|U|F)C<number_of_channels>S = 带符号整数U = 无符号整数F = 浮点数例: CV_8UC1 表示一个8位无符号单通道矩阵,CV_32FC2 表示一个32位浮点双通道矩阵.图像数据类型:IPL_DEPTH_<bit_depth>(S|U|F)例: IPL_DEPTH_8U 表示一个8位无符号图像.IPL_DEPTH_32F 表示一个32位浮点数图像.头文件:#include <>#include <>#include <>#include <> C程序实例关闭窗口:cvDestroyWindow("win1");改变窗口尺寸:cvResizeWindow("win1",100,100);直接获取键盘操作:key=cvWaitKey(10); .break;case 'i':...break;}}处理滚动条事件:定义滚动条handler:void trackbarHandler(int pos){printf("Trackbar ",pos);}注册handler:int trackbarVal=25;int maxVal=100;cvCreateTrackbar("bar1", "win1", &trackbarVal ,maxVal , trackbarHandler); 获取滚动条当前位置:int pos = cvGetTrackbarPos("bar1","win1");设定滚动条位置:cvSetTrackbarPos("bar1", "win1", 25);OpenCV基础数据结构图像数据结构IPL 图像:IplImage|-- int nChannels; 若不为NULL则表示需要处理的图像| |-- char *imageDataOrigin;它不是C++的构造函数.其他数据结构点:CvPoint p = cvPoint(int x, int y);CvPoint2D32f p = cvPoint2D32f(float x, float y);CvPoint3D32f p = cvPoint3D32f(float x, float y, float z);例如:=;=;长方形尺寸:CvSize r = cvSize(int width, int height);CvSize2D32f r = cvSize2D32f(float width, float height);带偏移量的长方形尺寸:CvRect r = cvRect(int x, int y, int width, int height);图像处理分配与释放图像空间分配图像空间:IplImage* cvCreateImage(CvSize size, int depth, int channels);size: cvSize(width,height);depth: IPL_DEPTH_8U, IPL_DEPTH_8S, IPL_DEPTH_16U,IPL_DEPTH_16S, IPL_DEPTH_32S, IPL_DEPTH_32F, IPL_DEPTH_64Fchannels: 1, 2, 3 or 4.注意数据为交叉存取.彩色图像的数据编排为b0 g0 r0 b1 g1 r1 ...举例:设定/获取兴趣通道:void cvSetImageCOI(IplImage* image, int coi); 读取存储图像从文件中载入图像:IplImage* img=0;img=cvLoadImage(fileName);if(!img) printf("Could not load image file: %s\n",fileName);Supported image formats: BMP, DIB, JPEG, JPG, JPE, PNG, PBM, PGM, PPM,SR, RAS, TIFF, TIF载入图像默认转为3通道彩色图像. 如果不是,则需加flag:img=cvLoadImage(fileName,flag);flag: >0 载入图像转为三通道彩色图像=0 载入图像转为单通道灰度图像<0 不转换载入图像(通道数与图像文件相同).图像存储为图像文件:if(!cvSaveImage(outFileName,img)) printf("Could not save: %s\n",outFileName);输入文件格式由文件扩展名决定.存取图像元素假设需要读取在i行j列像点的第k通道. 其中, 行数i的范围为[0, height-1], 列数j的范围为[0, width-1], 通道k的范围为[0, nchannels-1].间接存取: (比较通用, 但效率低, 可读取任一类型图像数据)对单通道字节图像:IplImage* img=cvCreateImage(cvSize(640,480),IPL_DEPTH_8U,1);CvScalar s;s=cvGet2D(img,i,j); = 111;imgA[i][j].g = 111;imgA[i][j].r = 111;多通道浮点图像:IplImage* img=cvCreateImage(cvSize(640,480),IPL_DEPTH_32F,3);RgbImageFloat imgA(img);imgA[i][j].b = 111;imgA[i][j].g = 111;imgA[i][j].r = 111;图像转换转为灰度或彩色字节图像:cvConvertImage(src, dst, flags=0);src = float/byte grayscale/color imagedst = byte grayscale/color imageflags = CV_CVTIMG_FLIP (flip vertically)CV_CVTIMG_SW AP_RB (swap the R and B channels)转换彩色图像为灰度图像:使用OpenCV转换函数:cvCvtColor(cimg,gimg,CV_BGR2GRAY); * +cimgA[i][j].g* +cimgA[i][j].r*;颜色空间转换:cvCvtColor(src,dst,code); CV_BGR2GRAY, CV_BGR2HSV, CV_BGR2Lab绘图命令画长方体:许多其他方法提供了更加方便的C++接口,其效率与OpenCV一样.OpenCV将向量作为1维矩阵处理.矩阵按行存储,每行有4字节的校整.分配矩阵空间:CvMat* cvCreateMat(int rows, int cols, int type);type: 矩阵元素类型. 格式为CV_<bit_depth>(S|U|F)C<number_of_channels>.例如: CV_8UC1 表示8位无符号单通道矩阵, CV_32SC2表示32位有符号双通道矩阵. 例程:CvMat* M = cvCreateMat(4,4,CV_32FC1);释放矩阵空间:CvMat* M = cvCreateMat(4,4,CV_32FC1);cvReleaseMat(&M);复制矩阵:CvMat* M1 = cvCreateMat(4,4,CV_32FC1);CvMat* M2;M2=cvCloneMat(M1);初始化矩阵:double a[] = { 1, 2, 3, 4,5, 6, 7, 8,9, 10, 11, 12 };CvMat Ma=cvMat(3, 4, CV_64FC1, a);另一种方法:CvMat Ma;cvInitMatHeader(&Ma, 3, 4, CV_64FC1, a);初始化矩阵为单位阵:CvMat* M = cvCreateMat(4,4,CV_32FC1);cvSetIdentity(M);间接存取矩阵元素:cvmSet(M,i,j,; Mb -> MccvDiv(Ma, Mb, Mc); Mb -> MccvAddS(Ma, cvScalar, Mc); Vb -> rescvCrossProduct(&Va, &Vb, &Vc);单矩阵操作:CvMat *Ma, *Mb;cvTranspose(Ma, Mb);视频序列操作从视频序列中抓取一帧OpenCV支持从摄像头或视频文件(A VI)中抓取图像.从摄像头获取初始化:CvCapture* capture = cvCaptureFromCAM(0); 在抓取动作都结束后再恢复帧图像.释放抓取源:cvReleaseCapture(&capture);注意由设备抓取的图像是由capture函数自动分配和释放的. 不要试图自己释放它.获取/设定帧信息获取设备特性:cvQueryFrame(capture); 用摄像头时不对,奇怪!!!.获取帧信息:float posMsec = cvGetCaptureProperty(capture, CV_CAP_PROP_POS_MSEC);int posFrames = (int) cvGetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES);float posRatio = cvGetCaptureProperty(capture, CV_CAP_PROP_POS_A VI_RATIO);获取所抓取帧在视频序列中的位置, 从首帧开始按[毫秒]算. 或者从首帧开始从0标号, 获取所抓取帧的标号. 或者取相对位置,首帧为0,末帧为1, 只对视频文件有效.设定所抓取的第一帧标号:不过似乎也不成功!!!存储视频文件初始化视频存储器:CvVideoWriter *writer = 0;int isColor = 1;int fps = 25;存储视频文件:IplImage* img = 0;int nFrames = 50;for(i=0;i<nFrames;i++){cvGrabFrame(capture);释放视频存储器:cvReleaseVideoWriter(&writer);。

OpenCV 编程简介教程(中文版),Image Processing, C

OpenCV 编程简介教程(中文版),Image Processing, C

Open Source Computer Vision Libraryintro.html#SECTION00040000000000000000/chenyusiyuan/archive/2010/01/26/5259060.aspx2.2 2、输入处理2.2.1 (1)处理鼠标事件:2.2.2 (2)处理键盘事件:2.2.3 (3)处理滑动条事件:3 三、OpenCV的基本数据结构3.1 1、图像数据结构3.1.1 (1) IPL 图像:3.2 2、矩阵与向量3.2.1 (1)矩阵:3.2.2 (2)一般矩阵:3.2.3 (3)标量:3.3 3、其它结构类型3.3.1 (1)点:3.3.2 (2)矩形框大小(以像素为精度):3.3.3 (3)矩形框的偏置和大小:4 四、图像处理4.1 1、图像的内存分配与释放4.1.1 (1)分配内存给一幅新图像:4.1.2 (2)释放图像:4.1.3 (3)复制图像:4.1.4 (4)设置/获取感兴趣区域ROI:4.1.5 (5)设置/获取感兴趣通道COI:4.2 2、图像读写4.2.1 (1)从文件中读入图像:4.2.2 (2)保存图像:4.3 3、访问图像像素4.3.1 (1)假设你要访问第k通道、第i行、第j列的像素。

4.3.2 (2)间接访问: (通用,但效率低,可访问任意格式的图像)4.3.3 (3)直接访问: (效率高,但容易出错)4.3.4 (4)基于指针的直接访问: (简单高效)4.3.5 (5)基于 c++ wrapper 的直接访问: (更简单高效)4.4 4、图像转换4.4.1 (1)字节型图像的灰度-彩色转换:4.4.2 (2)彩色图像->灰度图像:4.4.3 (3)不同彩色空间之间的转换:4.5 5、绘图指令4.5.1 (1)绘制矩形:4.5.2 (2)绘制圆形:4.5.3 (3)绘制线段:4.5.4 (4)绘制一组线段:4.5.5 (5)绘制一组填充颜色的多边形:4.5.6 (6)文本标注:5 五、矩阵处理5.1 1、矩阵的内存分配与释放5.1.1 (1)总体上:5.1.2 (2)为新矩阵分配内存:5.1.3 (3)释放矩阵内存:5.1.4 (4)复制矩阵:5.1.5 (5)初始化矩阵:5.1.6 (6)初始化矩阵为单位矩阵:5.2 2、访问矩阵元素5.2.1 (1)假设需要访问一个2D浮点型矩阵的第(i, j)个单元.5.2.2 (2)间接访问:5.2.3 (3)直接访问(假设矩阵数据按4字节行对齐):5.2.4 (4)直接访问(当数据的行对齐可能存在间隙时 possible alignment gaps):5.2.5 (5)对于初始化后的矩阵进行直接访问:5.3 3、矩阵/向量运算[编辑][编辑][编辑][编辑]5.3.1 (1) 矩阵之间的运算:5.3.2 (2) 矩阵之间的元素级运算:5.3.3 (3) 向量乘积:5.3.4 (4) 单一矩阵的运算:5.3.5 (5) 非齐次线性方程求解:5.3.6 (6) 特征值与特征向量 (矩阵为方阵):6 六、视频处理6.1 1、从视频流中捕捉一帧画面6.1.1 (1) OpenCV 支持从摄像头或视频文件(AVI 格式)中捕捉帧画面.6.1.2 (2) 初始化一个摄像头捕捉器:6.1.3 (3) 初始化一个视频文件捕捉器:6.1.4 (4) 捕捉一帧画面:6.1.5 (5) 释放视频流捕捉器:6.2 2、获取/设置视频流信息6.2.1 (1) 获取视频流设备信息:6.2.2 (2) 获取帧图信息:6.2.3 (3) 设置从视频文件抓取的第一帧画面的位置:6.3 3、保存视频文件6.3.1 (1) 初始化视频编写器:6.3.2 (2) 保持视频文件:6.3.3 (3) 释放视频编写器:一、简介1、OpenCV 的特点(1)总体描述OpenCV是一个基于C/C++语言的开源图像处理函数库其代码都经过优化,可用于实时处理图像具有良好的可移植性可以进行图像/视频载入、保存和采集的常规操作具有低级和高级的应用程序接口(API )提供了面向Intel IPP 高效多媒体函数库的接口,可针对你使用的Intel CPU 优化代码,提高程序性能(译注:OpenCV 2.0版的代码已显著优化,无需IPP 来提升性能,故2.0版不再提供IPP 接口)(2)功能图像数据操作(内存分配与释放,图像复制、设定和转换)Image data manipulation (allocation, release, copying, setting, conversion).图像/视频的输入输出(支持文件或摄像头的输入,图像/视频文件的输出)Image and video I/O (file and camera based input, image/video file output).矩阵/向量数据操作及线性代数运算(矩阵乘积、矩阵方程求解、特征值、奇异值分解)Matrix and vector manipulation and linear algebra routines (products, solvers, eigenvalues, SVD).支持多种动态数据结构(链表、队列、数据集、树、图)Various dynamic data structures (lists, queues, sets, trees, graphs).基本图像处理(去噪、边缘检测、角点检测、采样与插值、色彩变换、形态学处理、直方图、图像金字塔结构)Basic image processing (filtering, edge detection, corner detection, sampling and interpolation, color conversion,morphological operations, histograms, image pyramids).结构分析(连通域/分支、轮廓处理、距离转换、图像矩、模板匹配、霍夫变换、多项式逼近、曲线拟合、椭圆拟[编辑][编辑][编辑][编辑][编辑][编辑]合、狄劳尼三角化)Structural analysis (connected components, contour processing, distance transform, various moments, templatematching, Hough transform, polygonal approximation, line fitting, ellipse fitting, Delaunay triangulation).摄像头定标(寻找和跟踪定标模式、参数定标、基本矩阵估计、单应矩阵估计、立体视觉匹配)Camera calibration (finding and tracking calibration patterns, calibration, fundamental matrix estimation,homography estimation, stereo correspondence).运动分析(光流、动作分割、目标跟踪)Motion analysis (optical flow, motion segmentation, tracking).目标识别(特征方法、HMM 模型)Object recognition (eigen-methods, HMM).基本的GUI (显示图像/视频、键盘/鼠标操作、滑动条)Basic GUI (display image/video, keyboard and mouse handling, scroll-bars).图像标注(直线、曲线、多边形、文本标注)Image labeling (line, conic, polygon, text drawing)(3) OpenCV模块cv –核心函数库cvaux – 辅助函数库cxcore –数据结构与线性代数库highgui – GUI 函数库ml – 机器学习函数库2、有用的学习资源(1)参考手册:<opencv-root>/docs/index.htm (译注:在你的OpenCV 安装目录<opencv-root>内)(2)网络资源:官方网站: /technology/computing/opencv/软件下载: /projects/opencvlibrary/(3) 书籍:Open Source Computer Vision Libraryby Gary R. Bradski, Vadim Pisarevsky, and Jean-Yves Bouguet, Springer, 1st ed. (June, 2006). chenyusiyuan: 补充以下书籍Learning OpenCV - Computer Vision with the OpenCV Libraryby Gary Bradski & Adrian Kaehler, O'Reilly Media, 1 st ed. (September, 2008).OpenCV 教程——基础篇作者:刘瑞祯 于仕琪,北京航空航天大学出版社,出版日期:200706(4)视频处理例程(在<opencv-root>/samples/c/):颜色跟踪: camshiftdemo 点跟踪: lkdemo 动作分割: motempl。

学习opencv中文版教程——第二章

学习opencv中文版教程——第二章

学习opencv中⽂版教程——第⼆章学习opencv中⽂版教程——第⼆章所有案例,跑起来~~~然⽽并没有都跑起来。

我只把我能跑的都尽量跑了,毕竟看书还是很⽣硬,能运⾏能出结果,才⽐较好。

越着急,⼼越慌,越是着急,越要慢,越是陌⽣,越不能盲进。

否则更容易⾛错路。

看了⼀些东西发现都挺坑的,然后看了看书,发现书上写的也。

所以就把看书笔记,和跑动例程都来做⼀个整理。

关于如何配置,是重中之重然后是看书⼜看回到了这本学习opencv的⽩⾊装帧书上。

初试⽜⼑——显⽰图像例2-1#include "highgui.h"//1、int main(int argc,char **argv){ //2、IplImage* img = cvLoadImage(argv[1]);//3、cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);//4、cvShowImage("Example1", img);//5、cvWaitKey(0);//6、cvReleaseImage(&img);//7、cvDestroyWindow("Example1");//8、}1、⾼级GUI图像⽤户界⾯,包含媒体的输⼊输出,视频捕捉,图像视频的编解码,图形交互界⾯的接⼝。

GUI:Graphical User Interface 图形⽤户界⾯(接⼝)3、如果能明⽩主函数的参数情况,那么在命令⾏⾥⾯键⼊:opencv教程——显⽰图像 1.png 。

其中第⼀个参数要想展⽰的话是:argv[0]如果cout<<argv[0]将会是“opencv教程——显⽰图像”,所以argv[1] 是 “1.png”所以下⾯⼀同也给了⼀个⽬录结构,为了能在当前⽬录⾥⾯找到1.png这张图⽚。

如果找到的话,就加载这张图⽚,并且把图像信息赋给img。

Opencv自制中文帮助文档

Opencv自制中文帮助文档

/*********void cvShowImage(const char* name, const CvArr* image)*******************
*功能:显示图片
*参数:
:窗口的名字
2.image:需要显示的图片
*返回:
*说明:
*****************************************************************************/
cout << element_21_Read << endl;
//这里推荐使用cvPtr*D函数族来读取元素
CvMat *mat_2 = cvCreateMat(5, 3, CV_8UC1);
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 3; j++)
如果用户没有按下任何按键,delay毫秒后,程序继续运行。
2.delay<=0:程序将一直等待,直到用户触发一个按键,程序继续运行
*返回:用户按键
*说明:
cvWaitKey还可以检测用户输入了什么按键
hile(1)
{
key=cvWaitKey(10);
if(key==27) break;
cvNamedWindow("RoadDetector", 1);
cvShowImage("RoadDetector", img);
cvWaitKey(0);
cvReleaseImage(&img);//释放资源

OpenCV例程使用手册

OpenCV例程使用手册

OpenCV例程使⽤⼿册OpenCV例程使⽤⼿册⽬录1 OpenCV说明 (2)2 OpenCV模块测试 (3)3 TI官⽅综合例程 (5)3.1例程说明 (6)3.2编译例程 (6)3.3运⾏ (6)4 Sobel边缘检测算法 (9)5 Canny边缘检测算法 (11)6 VideoCapture图像采集 (12)更多帮助.................................................................................................... 错误!未定义书签。

公司官⽹:/doc/f2cd203bb5daa58da0116c175f0e7cd185251853.html 销售邮箱:sales@/doc/f2cd203bb5daa58da0116c175f0e7cd185251853.html 公司总机:020-8998-6280 1/13技术论坛:/doc/f2cd203bb5daa58da0116c175f0e7cd185251853.html 技术邮箱:support@/doc/f2cd203bb5daa58da0116c175f0e7cd185251853.html 技术热线:020-3893-97341 OpenCV说明OpenCV的全称是:Open Source Computer Vision Library,开源计算机视觉。

OpenCV 是⼀个基于BSD许可(开源)发⾏的跨平台计算机视觉库,可以运⾏在Linux、Windows、Android和Mac OS操作系统上。

它轻量级⽽且⾼效——由⼀系列C函数和少量C++构成,同时提供了Python、Ruby、MATLAB等语⾔的接⼝,实现了图像处理和计算机视觉⽅⾯的很多通⽤算法。

TI AM57x系列处理器⽀持的OpenCV模块有以下14个:core moduleimgproc modulecalib3d modulefeatures2d moduleobjdetect modulephoto modulevideo moduleflann moduleimgcodecs moduleml moduleshape modulestiching modulesuperres modulevideoio moduleOpenCV库的地址:SDK根⽬录/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/lib/OpenCV头⽂件路径:SDK根⽬录/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/include/opencv2 TI官⽅测试说明链接:/doc/f2cd203bb5daa58da0116c175f0e7cd185251853.html/index.php/OpenCV_AM57_Test_Instructions2 OpenCV模块测试此例程是TI官⽅提供⽤于测试AM5728⽀持的各个OpenCV模块。

opencv2使用手册

opencv2使用手册

OpenCV(Open Source Computer Vision Library)是一个广泛用于计算机视觉任务的开源计算机视觉和机器学习库。

由于OpenCV 经常更新版本,因此以下是OpenCV 2.x 的基本使用示例和概述。

注意:OpenCV 2.x 目前已经过时,推荐使用更高版本(如OpenCV 3.x 或更高)以获取更多功能和性能优化。

以下是一个简单的OpenCV 2.x 使用手册概述:安装OpenCV 2.x:# 使用pip 安装OpenCV 2.xpip install opencv-python==2.4.13.7基本使用示例:import cv2# 读取图像image = cv2.imread('example.jpg')# 显示图像cv2.imshow('Image', image)cv2.waitKey(0)cv2.destroyAllWindows()图像处理:# 转换图像为灰度gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 阈值处理_, threshold_image = cv2.threshold(gray_image, 127, 255, cv2.THRESH_BINARY)# 显示处理后的图像cv2.imshow('Gray Image', gray_image)cv2.imshow('Threshold Image', threshold_image)cv2.waitKey(0)cv2.destroyAllWindows()视频处理:import cv2# 打开摄像头cap = cv2.VideoCapture(0)while True:# 读取每一帧ret, frame = cap.read()# 显示帧cv2.imshow('Video', frame)# 按'q' 键退出循环if cv2.waitKey(1) & 0xFF == ord('q'):break# 释放摄像头资源cap.release()cv2.destroyAllWindows()更多功能:- **图像处理和分析:** 包括滤波、边缘检测、形状分析等。

opencv手册

opencv手册

opencv手册“OpenCV手册”指的是关于OpenCV(开源计算机视觉库)的详细指南。

OpenCV是一个包含数百种计算机视觉算法的开源库,广泛应用于图像处理、机器视觉和深度学习等领域。

该手册旨在为用户提供关于OpenCV的全面和深入的信息,以帮助用户快速上手并高效地使用该库。

以下是 opencv手册内容:1.概述:介绍OpenCV的基本概念、发展历程、应用领域和优势等。

2.安装与配置:提供在不同操作系统上安装和配置OpenCV的详细步骤,包括依赖项的安装、编译和安装等。

3.核心模块:介绍OpenCV的核心模块和功能,包括图像处理、特征检测、目标跟踪等。

4.图像处理:深入介绍图像处理的各种算法和技术,如滤波、色彩空间转换、边缘检测等。

5.计算机视觉:详细阐述计算机视觉的基本概念和算法,包括特征检测、目标跟踪和姿态估计等。

6.机器学习与深度学习:介绍如何使用OpenCV进行机器学习和深度学习任务,包括模型训练、数据预处理等。

7.实践应用:提供实际应用OpenCV的示例和案例,如人脸识别、物体检测和交通监控等。

8.优化与扩展:指导用户如何优化OpenCV的性能和扩展其功能,包括使用并行计算和自定义算法等。

9.文档与资源:提供OpenCV的官方文档、社区论坛和其他相关资源的链接,以便用户获取更多信息和支持。

10.常见问题与解答:总结使用OpenCV过程中常见的问题和解决方法,帮助用户快速解决问题。

总之,OpenCV手册是一本全面而深入的指南,旨在为用户提供有关OpenCV的详细信息和使用指导。

通过阅读这本手册,用户可以快速上手并掌握OpenCV的核心功能和应用技巧,从而更好地利用该库进行计算机视觉相关的项目开发和应用。

OpenCv参考手册-机器学习中文参考手册

OpenCv参考手册-机器学习中文参考手册
[编辑]
CvStatModel::save
将模型保存到文件
void CvStatModel::save( const char* filename, const char* name=0 );
save 方法将整个模型状态以指定名称或默认名称(取决于特定的类)保存到指 定的 XML 或 YAML 文件中。该方法使用的是 cxcore 中的数据保存功能。
如果两种排布方式都支持这个函数的参数tflag可以使用下面的取值tflagcvrowsample表示特征向量以行向量存储tflagcvcolsample表示特征向量以列向量存储训练数据必须是32fc132位的浮点数单通道格式响应值通常是以向量方式存储一个行或者一个列向量存储格式为32sc1仅在分类问题中或者32fc1格式每个输入特征向量对应一个值虽然一些算法比如某几种神经网络响应值为向量
virtual void write( CvFileStorage* storage, const char* name )=0; virtual void read( CvFileStorage* storage, CvFileNode* node )=0; };
在上面的声明中,一些函数被注释掉。实际上,一些函数没有一个单一的 API (缺省的构造函数除外),然而,在本节后面描述的语法和定义方面有一些相 似之处,好像他们是基类的一部分一样。
2 Normal Bayes 分类器 o 2.1 CvNormalBayesClassifier o 2.2 CvNormalBayesClassifier::train o 2.3 CvNormalBayesClassifier::predict
3 K 近邻算法 o 3.1 CvKNearest o 3.2 CvKNearest::train o 3.3 CvKNearest::find_nearest o 3.4 例程:使用 kNN 进行 2 维样本集的分类,样本集的分布为混 合高斯分布

OpenCV参考手册

OpenCV参考手册
double x; double y; } CvPoint2D64f; x x 坐标 y y 坐标 /*构造函数*/ inline CvPoint2D64f cvPoint2D64f(double x,double y); /*从 CvPoint 转换*/ inline CvPoint2D64f cvPointTo64f(CvPoint point);
CvSize 像素级的矩形的大小 typedef struct CvSize {
int width; int height; } CvSize; width 矩形的宽度 height 矩形的高度 /*构造函数*/ inline CvSize cvSize(int width,int height);
此文档由 OpenCV 中文论坛会员 HEYOUP 翻译并整理

CvTermCriteria 迭代算法终止条件 #define CV_TERMCRIT_ITER #define CV_TERMCRIT_NUMBER #define CV_TERMCRIT_EPS

第一章
cxcore 核心功能
1.1 基本结构
CvPoint 二维点整数坐标(通常以 0 为基坐标) typedef struct CvPoint {
int x; int y; } CvPoint; x x 坐标 y y 坐标 /*构造函数*/ inline CvPoint cvPoint(int x,int y); /*从 CvPoint2D32f 转换*/ inline CvPoint cvPointFrom32f(CvPoint2D32f point);
此文档由 OpenCV 中文论坛会员 HEYOUP 翻译并整理
float x; float y; float z; } CvPoint3D32f; x x 坐标 y y 坐标 z z 坐标 /*构造函数*/ inline CvPoint3D32f cvPoint3D32f(double x,double y,double z);

Cv中文参考手册之二------图像轮廓处理

Cv中文参考手册之二------图像轮廓处理

Cv中文参考手册之二------图像轮廓处理Cv中文参考手册之二 - Cv结构分析下面的链接是OPENCV之CV部分用户参考手册的中文翻译,在此感谢Z.M.Zhang对模式识别、照相机定标与三维重建部分所做的翻译,Y.C.WEI对全文做了统一细致的更改Cv结构分析目录• 1 轮廓处理函数o 1.1 ApproxChainso 1.2 StartReadChainPointso 1.3 ReadChainPointo 1.4 ApproxPolyo 1.5 BoundingRecto 1.6 ContourAreao 1.7 ArcLengtho 1.8 CreateContourTreeo 1.9 ContourFromContourTreeo 1.10 MatchContourTrees• 2 计算几何o 2.1 MaxRecto 2.2 CvBox2Do 2.3 PointSeqFromMato 2.4 BoxPointso 2.5 FitEllipseo 2.6 FitLineo 2.7 ConvexHull2o 2.8 CheckContourConvexityo 2.9 CvConvexityDefecto 2.10 ConvexityDefectso 2.11 PointPolygonTesto 2.12 MinAreaRect2o 2.13 MinEnclosingCircleo 2.14 CalcPGH• 3 平面划分o 3.1 CvSubdiv2Do 3.2 CvQuadEdge2Do 3.3 CvSubdiv2DPointo 3.4 Subdiv2DGetEdgeo 3.5 Subdiv2DRotateEdgeo 3.6 Subdiv2DEdgeOrgo 3.7 Subdiv2DEdgeDsto 3.8 CreateSubdivDelaunay2Do 3.9 SubdivDelaunay2DInserto 3.10 Subdiv2DLocateo 3.11 FindNearestPoint2Do 3.12 CalcSubdivVoronoi2Do 3.13 ClearSubdivVoronoi2D轮廓处理函数ApproxChains用多边形曲线逼近 Freeman 链CvSeq* cvApproxChains( CvSeq* src_seq, CvMemStorage* storage,int method=CV_CHAIN_APPROX_SIMPLE,double parameter=0, int minimal_perimeter=0, int recursive=0 );src_seq•涉及其它链的链指针storage•存储多边形线段位置的缓存method•逼近方法 (见函数 cvFindContours 的描述).parameter•方法参数(现在不用).minimal_perimeter•仅逼近周长大于minimal_perimeter 轮廓。

DreamScape中文手册

DreamScape中文手册

,QWURGXFWLRQ 1":HOFRPH -))ȖჍƼ GV PD[ᘝ 'UHDP6FDSH ҅( GV PD[ "// ஧9 "ȩ # 0© $V Ȗȏ ̤'6 "-Ȗ - $V ᆿ ၠ၏ Ü- -ࢨ ၠ၏<· ּ ȩ ´$-" - PȒ 3 Ȓ_ 8 Ȗ ந'6 . - -)ฬ޻ '6 Ȗ $ . 3 8 ȖqƲ- \ - q׹ Ȗ ၠ၏Ƒ - ၚ- '6 Ƣ J Jȩ ̵ Ȗ $ - ȩ0 %Ď஧9 + - µ˸ Ď ) -Nj ֧ Ȓ ၒ ŝ% qƲܖ Ȓ Ҕ+ պWȖᇷ-dž Ǝ Ȗܖ ܾ'6 0$;/Ǯ) ܼ̤'6'6 3 ̓Ȗ Ƒ ̓ (҅ 3 GV PD[ ஧9/ ҅ ჏௭I. ּ - "-Ȗ v < 3- ѤϤ# \ ͩ$& / -'6 Ĝؓ<ͩ$ ࡙8Ȗܖ '6 / ඪ GV PD[ / / ɑΡ ȑ-޻ Ȗҵ Ǝ ּϤ# Z )ŝ ٫'UHDP6FDSH --. Ȗ Ǝ '6 ඪ - Ȗ ந ඪ PȒ ȩ0ਢW Ȓ_Ǯ) '6'UHDP6FDSH GV PD[ᘝ ַ/ ၏ W %Ď " ၠ၏ J ҅$պWȖၠ၏ Ҕ İ Ǒ ؀<ê/ ඪ ඪ Ʋ ȩȖ$ - Ҕ 7HUUDLQ ؀ ) ؀ 6N\ İ <6HDV ê'6 - ń'6 İ G İ Ǒ'6 ੓G؀Ŝ ე'6ê ěȏ'6Ѥś'DHPRQV౒Ρ é'DHPRQW Vq'DHPRQ'6İ ܱ'6ê *'6ê ე'6ê ãე'6 ე'6 ე'6 ؀J GV PD[ ؀ J '6 ؀ȩ ० ܾ Φ Ȗ၏ļ ˷p 5$0 ǎ ȩȖ$ ० )ŝ ؀Ȓc3 ´ ˋƢȖ v "P ؀ Ȗ Ȋ [2ܖ ؀ Ҿ.ɤ ׷ _V ȉ ȏ P - 8 < '6 2śļ Ȗ Ρ Č t7HUUDLQ (URVLRQ ؀ຌ(ቅ. % Nj ؀ 0 ༐ - '6 ؀$3,µ˸ -/ 8- ֽ ěȏ $3, 8 Ȗ ໘ & ƣ Ȗּ)$v pˣNj'6 ؀ඪ ˋƢᇗˣ'(0 6'76< ؀'6 Čİ8 Ȗ - Ƣ ń ´ ஧9 ቅ)'6 İ Ƙ ̤ ஧9< İ $ ၠූ ַ'6 İ '6 ( ඪ ҅ < Ʀܖ J Ʋ ȒPȒ Ȓ_ '6 ੓G '6҈I $V Ȗ ᇍ- ȩ0 - '6 İ - ඪ J Ȗ Ƒ đ ؀ěȏ<J ȑȏ - ˋƢ İ " Ǒ Ƒ ȑȏ ҅%ƿ ݍ؉ ê "$ İ ༆ ٫"ǎ2śUH I OHFWLRQ <UH I UDFWLRQ º $V'6 İ ၏ļ )ODW (DUW K<5HDO (DUW K 5HDO (DUW K ၏ļ ĵ Ġ ࡚ȩȖ$ ҋ ֧ඥ )ODW (DUW K ֧ ֧ 8 - Ȗּ)ȩ ҅Ȓ(6ၒ (҅ 5HDO (DUW K० -Ȗ ͪǑӀ ' ' द İƑ ) Ϥ ɢ Ȗ 3 ĵW ǑӀ- - ̤ Ĝؓ) '6 İ 8 ޖ׷̵ ȉූ< G၏ļ - Ĝ Hͪ-Ƣ ȖҚ Ҕ J ० W'6 ê'6- ê * O <º $० Ҕ ê ã ӝ$ c é޻ ê 'UHDP6FDSH 6HD %XPS '6 ê <'UHDP6FDSH 6HD )RDP '6 ê ã Ŝ ე ޖ ० O é 6X E6XU I DFH Ѥś ஧9 Ȗ % ࢠê ěȏ$ / )29 ළ -ȩ҅$ Ȋë#˷p० ê Ȗ ޖê q< ȩ ê Ҕ ࢠ ȩJ-W'DHPRQV< 6SDFH :DUS İ ܱ $ּ ê ළ ҔΡ W 6LPSOH:D Y HV 'DHPRQ ౒Ρ é'DHPRQ ˋƢȖ ê ࢠӀसéW ͪ W Vq'DHPRQ "Ȗ ҈ ś ěȏ ࢠǞǒȒ - ěȏ$द ࢠ - (Q J LQH6SDFH :DUS İ ܱ ˋƢȖÅWěȏ-Njࢠ/ -׷ -< ã -'UHDP6FDSH ͩ$֨) 6LWQL 6DWL2ˬ 8"Ȗ '6 - 3 J - İ Ǒ ê ࢠ ؀<J %Ďநႋ ę -Ƣ 0ˬ Ĝؓ :-Ȗ Ȓ ħ< 2- Ҕ 'Ǒ Nj ე İ<Ǒ º ᖱ 2ś ؀"ᇕ Ʊ -- .'6 Ĝ'6 ؀Hͪ ͩ$ IJ " <) I. 2 x Z - IJ % ؀ - J ง - ၠූ ؀ IJ / ළ 0$;$ < ؀ _V ȉ ´%t) ë />ś؀ე(-ȩ Z t) 2 <ɤ ֧ Nj ந 'UHDP6FDSH 7HUUDLQ '6 ؀ ე ϤČİ<Ǒļ 'Ǒ <҈ İ Ǒº ᖱ "Ȗ2*/ b ؒ ȑ ሂ İ ந Wǎ ܾ ந ० İ<ê qƲ ˫ǎ 'Ǒ<'6İ " -/ê W Vq% '6ê "˷ූ 2Ӎ V '6 'DHPRQVȩ҅ ၘ׹ᇏWěȏ ê -) ȩ ҅ ˷. ޖ· ၏ļW Vq'DHPRQ· Ƣ ၏ļ Ď é-W<ěȏ ࢠǞǒȒ ҅$ <º நҔ - ã - ěȏ> - P ěȏ ၏ļदV</Vͪ ȩ '6 İ ܱ ȩ҅v %ƿ ÅWěȏ ऋ W Njê'6ê *ê ã<ê ე ந ე ܖ ࡚׷ -ê * Ȗ$ȩ ȑJ ე ඪê ე Ʊ Nj - b ǎ ïநႋ $ ந ȑ ઇ ʼn G ˋƢ % நҔ º ěȏG Ϥ# \ . 8 ᆼე) ঠ%ć W Z ))'UHDP6FDSH 6XQ '6'UHDP6FDSH 6XQ '6 -'6 ੓G Ƒ '6 /၏ļ J '6ěȏ ǒȒ ( ੓Gᇗ IҾđ ؉؀ < ޻đ ń҅ dz '6 İ /đ İ<Ǒ ੓Gń੓G'6 ੓G$ ޻ 3 /ၡ -NjΡ ੓G Ď ½'ΡƑ 'UHDP6FDSH --t Ȗந ҵ) -Ρ 6XQ ੓G੓Gń ႋܖ s GV PD[/ ੓G ҈I ȑ Ƒ ½ Čɢ ҅ O ੓G ந-Ƣ -ȩ Ƒ- ҅ v'6 ੓G Ӎ^ Ρ -޻-ˣ)һ ၠූÅP Ϥ )؉Ϥ )3DUDPHWHUV Ϥ Ӎ^Ϥ ) Ƒ Ȗ Ρ )༐ İ< đ*HQHUDO - -2Q ׷ - ਢæ ܣ '6 ׷ ࡘ- - '6 ˫,OOXPLQDWH 6FHQH đ - .ڣ̕ Ȗdz '6 đ '6 İ# đ Ȗ Ƒ ȑ ȑȏ ቅ)ҵ ࡘ- - '6 I. Ȗ Ƒ J ႋ6XQ 6L]H x - x '6/ [ؖ<+ ( P< ( P ׷҅ Ҕ ந %Ď ႋȖ ̤ Ʀܖ '6/ .ȩ Ҕ x5HQGHU ० - ׷० - ਢæ /& ˷ ҅ ० ([FOXGH ޮ -NjČ - ޮ ) ႋ O GV PD[੓Gń Ȗ ޮ Ƒp '6 ੓G؉ ěȏ5DSLG5D\ -Gඥ Č - ܣ 5DSLG5D\ -Gඥ ) -Gඥ '6˷ූ Ĝt ၏ ͪ- ǞěȏGඥ++ ͪ- "0D[ 'HSW K - Ϥ ළ Ԩ 2 ɢ$ Ʋ ० 3 Ԩ ළ Φ ˷p0D[ )DFHV 9R[HO ˍ % Ρˍළ > ˍ ׷ ˍ - Ϥ t - Ρˍ ŝ ̤ ˍ P &0D[ :LGW K ҧ ළ ŝ Ƣ ˍ - Ϥ Pළ ˍ /+HOS պW -NjČ - Ȗ -ˣպW - ƑȖ Ρ Ʀ ȑϤ ܖ ּ պW($E RXW ˫ǎ Ρ - ) ׷̵Ȗ࡙ ȩ '6ę6XQ 6N\ İ -'6 ȩ ě ֦ܴ ၏ļ ŝ̤ᇰ đ6XQ &RORU ༆ .Ҕ ༆ ǎGၭĜ ༆ּ׷ ČČ ༆ -Njᆼ ༆ Ȗ İ ƿ )༆׷ G - ༆ּ)ၠ( ༆0XOWLSOLHU H - خ)ÅP ÅP İ Ǣ dz > İđ6XQ 6FHQH -8VHU &RORU ȩ ༆ - =8 ύ Ȗ Ƒ ੓Gđ ̤Ȗ Ƒěȏ ༆ ZቱȖ Ȗ ᄇƳ O ੓G ༆ਢæ- -ȩ '6 - -s / đ Ƣ Č b - ฬ - -Ƒ dzȖ ݫؽ W µ W ༆ # W ć౭Ʋ ׷ć౭ W̤ Ӏ đ ඔ༆̤ ༆ (2 ȩ҅0XOWLSOLHU H - خ)ÅP ǎ Ȗ '6 İ/đ ȑȏ<Ǒ ÅP-.ˍ Ǣ$II HFW 6XU I DFHV ؉ -&RQWUDVW - خ)ÅP )༐ Nj Z <஧9Z 2 ɢ/ #ᇍȊ ɢ/6R I WHQ 'L II (G J H Nj NJ" - خ)ÅP Ȓ պW Nj . <஧9. ) NJ" 2 ɢ Wǎ ؉Z #ᇍȊ ɢ Wǎ ěȏ ČǢZ6K DGR Z3DUDPHWHUV ؉Ϥ Ӎ^ȩ - Ϥ Ӎ^ Ȗ )༐Ȗ Ƒ ؉ၠූ6K VGR Z V ؉ -'6 İȩ 5DSLG5D\ -Gඥ ० ͪ- " $Vݍ Gඥ++ ؉ '6 ȩ ҅ͪ-०*HRPHWU\ !*HRPHWU\ ȑȏ ! ȑȏ - 8 Ȗ ළ ̤ ළ ݍ ؉ ਢæ- -$QWLDOLDV º ᖱ - ('6 ؉ Gඥ++ ؉ Ȗ ȩ - - b ᖱĠ ؉NJ" ׷- - ਢæ '6० ȩ º ᖱļ7UDQVS - - ׷ਢæ- - / - ؉*HRPHWU\ !6N\ ȑȏ ! İ - ׷- - ਢæ Ƒ ȑȏ ݍ ؉̤ / ÅཔȖ '6 Ƒၠූ 2 ࡛֋ɢ Ϥ Ӎ^ / ׷ȩ - - - t '6 İ/ Wº ᖱ7ѤƑ ඔ༆ $ / ǑӀ ׷ ȑȏ ! İ - ਢæ Ȗּ) ̤ Ǒ ޻ݍ ؉6K DGR Z%LDV ؉ɯ - خ)ÅP WGඥ- Ƒ ěȏ ࡚ %ƿ ؉$UHD Z -'6 $V Z ؉ ȩ Z ؉ ۈ० Nj ( ؿ Ǝ Ƣ ؉ ( % ०׷ ěȏ޻-ǎ Ȗ ؉ [ . ܝ Z ؉6DPSOHV ǟ - خ)ÅP ÅP8ȑG Z ؉ 2 ǟ ɢ ƲG Z ؉ 3 ༭ ०5DQ J H & - Ϥ ˫ Ҕ <+ - Ȗּ׷Hͪ خ)ÅP & 2 & / [ ؉ ҈ G "'UHDP6FDSH '6 İ'UHDP6FDSH '6 İ -8 Ȗ - Ƣ ń ´ ஧9 ቅ)'6 İ Ƙ ̤ ஧9< İ $ ၠූ ַ'6 İ '6( ඪ Ʀ <ܖ Ʋ Ȓ Ȓ_ '6 ੓G '6 ؀<'6ê҅$ Ȗ Ƒ ᄇƳ p ȩ0 - '6 İ J đǢȖ Ƒ ؀ěȏ<J ȑȏ İ " ǑˋƢ ҅ ƿ ؉ݍ ̤ Ƒ ȑȏ ê " 2ś <º İ ༆ $V'6 İ'6 İ "p ǎ GV PD[ / ޻ 5HQGHULQ J ० !(Q Y LURQPHQW ஧9 'ΡƑၡ´Ď ּ)-ˣ Ӎ^ Ρ $GG ͪ $GG $WPRVS K HULF (II HFW ͪ ) Ƒ -'UHDP6FDSHȖ - 'UHDP6FDSH Ρ 2. t İϤ ந/ ּ) 8 Ȗ Ƒࣣ '6 İ #Ȗ) ० Ȗ Ȗ Ǝ ٫- ቅȖ G ੓G̤׷̵ İ/'6 İ Ӎ^ Ρ -޻-ˣ ၠූÅP'6- Ϥ Ӎ^GÅP Ӎ^I Ϥ Ӎ^Ϥ Ӎ^ǑϤ Ӎ^'UHDP6FDSH *HQHUDO 3DUDPHWHUV '6- Ϥ Ӎ^- - Ϥ Ӎ^҅ 5HQGHU &RQWURO ० ÅP - ÅP < J. ඪ / 5HQGHU &RQWURO ० ÅP- ÅP $ȩȖ . '6-$SSO\ WR %DF NJ URXQG t$ - - - t '6 ּ $ ׷ ࡘ ቅ)'6 dzּ Ƒ ěȏ 8 Ȗ ˍ / æW Ȓ$ Ȗ ந- -5HQGHU &RQWURO ० ÅP -5HQGHU 6N\ ० İ ࡘ- - İ ० 8 Ȗ ० İ 3 ȩ ˷ූ Gඥ++'6 ؀<ê ළ Ȗ ȩ - -(QD E OH $QWLDOLDVLQ J ȩ º ᖱ - - ၠූ ؀< İ Ǒ º ᖱ ˫ (- Ȗ ˫ - - ͪ-Ȗ ०([SRVXUH G - خ)ÅP )༐'6஧9 Ǣ*OR E DO 6FDOH ȏ 7 - Ϥ ´ t /" Ĝؓ 8 Ȗ đ'6˷ූ 6ၒΡȉ Ȗ ȩ - Ϥ '6Ρȉ ಯ*URXQG /H Y HO ֧ ś - Ϥ Ȗ =ᇄ W ֧ =8Ȗ० ê ê֧ ฬ޻ İ#ǔ- ֧ඥ - Ϥ=ᇄ W ֧ ֧ 7Ѥ Ȗ ê-޻̤ ֧ඥ W ֧ " ० - / )ODW (DUW K<5HDO (DUW K'6 J'6/(ˤ ͫ J< ) 8 - ၡ -ሓ5DSLG5D\ -Gඥ Č - ܣ 5DSLG5D\ -Gඥ ) -Gඥ '6˷ූ Ĝt ၏ ͪ- ǞěȏGඥ++ ͪ- "0D[ 'HSW K - Ϥ ළ Ԩ ɢ$ Ʋ ० 3 Ԩ ළ Φ ˷p0D[ )DFHV 9R[HO ˍ % Ρˍළ > ˍ ׷ ˍ - Ϥ t - Ρˍ ŝ ̤ ˍ P &0D[ :LGW K ҧ ළ ŝ Ƣ ˍ - Ϥ Pළ ˍ / 5HVHW 3DUDPHWHUV ȉϤ Ρ - Ȗ ĵP ܖ '6 İϤ ၠූ (6ၒɢ ȉI. İ Ϥ )̵ Ȗ G ̤ ٫+HOS պW -NjČ - Ȗ -ˣպW - ƑȖ Ρ Ʀ ȑϤ ܖ ּ պW(6N\3UH Y LH Z İ - JˋƢȖ - Ȗ İၠූ ҅ 3UH Y LH Z :LQGR Z V IJ ඪIJ NJ IJ ० İ ҅dz '6 İ Ǒ< Ϥ ० GV PD[ළ '6 ؀ěȏ/ İ IJ G ਢæ - ǎ IJ ၘ - ၠූ Ȗ - J҅ Ď ࡙ İ IJਢæ ࡘ- IJ IJ 9LH Z V 'ΡƑȩ 6N\ İ -IJ NJ IJ Ǒ؀Ġ / Ȗ WǑӀ<tȉNJ Z8 Ȗ ǑӀ tȉӀ dz -t Ӏਢæ ࡘ- IJ IJ 9LH Z V 'ΡƑȩ &ORXGV 6K DSH ǑӀ ؀ -IJ / NJ9 -2 ؀tȉǑ NJ 8 Ȗtȉ- ǑӀ ቅ҅dz tȉNJ ˷(ǑӀ؀Ġ IJ Ǟǒ Ȗ ȩ 6 < ඪ Ȓ ǑӀ 6 ½ W ǑӀ ȉූ< - W ؉ ɯ ;ᇄ <ɯ <ᇄ Ϥ &WUO <6 ½ W"༆tȉ $ ҅ Z ȉූΡ 5H I UHV K 'Ρ " 9LH Z V 'Ρ/ਢæ$XWRPDWLF 8SGDWH % W - 8 Ȗ ० Ȗ ȑ'6 İϤ )IJ Ƒ ਢæ - ׷Ȗ NJ IJ / WǑӀ NJ İIJ %W ǑӀ؀Ġ IJ ҈I W ܣ GV PD[W Ǒȉූ ˫ WȖ Ǒ̤జ ȉූ ˹ W GV PD[ Ď WǑ̤ ȉූGV PD[ / W ؿ ܣ GV PD[ / Ȗؿ ܣ W !%WGë IJ ० dz Ȗ Č (VF$E RXW ˫ǎ Č - ܣ ˫ǎ ) ) /Ȗ - - / _ë٫<ᆿ'D\OL JK W &RQWURO GÅP Ӎ^׷ Ƒdzȩ -'6 ੓G Ȗ Ǝ < நҔ ؉ G ĜČ ׷ȩ $ ၏ļ % İ đ ƑȖ ěȏ ޻đG ĜČ ( Ɖ · Ƣ ၏ļ - ۈ० Nj5HQGHU 'D\OL JK W ० G -5HQGHU 'D\OL JK W ० G - 6ၒ ० G - ਢæ 3׷ਢæ ҅ ၏ļ % İ ޻đ6DPSOH 5DWH ǟ -ħ ÅP İǟ ('6 G Ǝ ǟ Ʋ G ० - (8 Ȗ Ƒ *ȩ -Ŝ ᄇǟ Ȗ % '6ǟ -ħGV PD[ ƿ Ŝ ᄇǟ ͪ ǟ / ໘" ࡚ Ȗ ȩ ᇍ '6ǟ -ħ ̤ Ǿ "6LPSOL I\I RU '6 7HUUDLQ '6 ؀౒Ρ - ȩ - - ͪ- G० ؀ළ ׷ਢæ ؀ළ +Nj G၏ļ ç)%ƿ ؉6N\ İ -6WUHQ J W K - Ϥ GV PD[ ƿ ੓G0XOWLSOLHU H Ϥ Ǿ 2 ɢ/ Ǣ ᇍȊ ɢ/ "2Y HUFDVW خ)ÅP ၠූ( ޻ G< İG ȩ đ Ƒ ěȏ ၠූ( dzȩ İGđ ěȏ2 2Y HUFDVW ɢ Ǒ đ =8`Ǒ İࣣ ޻ đ Ď#8 ਢæ-ǑϤ Ӎ^ ؉- / *URXQG 6K G ؉ - ࡙ đ %W၏ļȩG "<Ǒ ቅ)Ȗ ȩ Ϥ8VHU &RORU ´ ༆ ࡙ ڣ̕ Gǟ İİక Ǝ İ ༆ - Nj ´ ҈I - 8 Ȗ ȩ G၏ļ t)Ȗ% İ ༆ ቅ)ਢæ- -׷ȖW ऋ Nj İ ̤ ´t)༆ ) - c Ǿڣ̕ ሢ ༆ #Ȗ µW ҅ ༆)*URXQG -- - ÅP ੓G̤Ȗ Ƒ ěȏ6WUHQ J W K - Z t % G ěȏ ؉ dz މƎ ޻ G. ̤ěȏ3DQRUDPD 3DUDPHWHUV I Ϥ Ӎ^- I Ϥ Ӎ^ ० / ׷̵ Ρ ҈ '6 İ - ĜČ dz० '6 İ Ǒ< ० ěȏ ؀Ȗ W İ dz நҔ İ$ ڣ̕ -3DQRUDPD I -:LGW K ҧ - خ)ÅP ၠූ / I ० ҧ+HL JK W 2 - خ)ÅP ၠූ / I ० 25HQGHU ० 3Č ० Ȗҵ t-ၠූ ҧ <2 - Ϥ ҅ I ०ëI ० dz Ȗ Č (VF ౒Ρ ˫ I "̒ ׷҈ Ȗ Ǝ Ǿ ȉI ० - GȖ p҅ Ď ȩ ҅ Ȗ ƑȒ(J ȑ ȉ ȩ ҅Ȓ(஧9ე Ϥ࡙8Ȗܖ Ȗ I ე ȩ Ȓ( Ġ஧9ე # ҅ 92II VHW 9ɯ ၠූ( <97LOLQ J 9֧ ၠූ( ȩ 82II VHW 8ɯ خ)ÅP b ᆼე ҅ ƿ$WPRVS K HUH 3DUDPHWHUV Ϥ Ӎ^- Ӎ^ / Ϥ ÅP İ० ० _*< ě *5HQGHULQ J ० -6WHSV ࡛֋ - ɢ Ρȉ/" +ؖ ࡛֋ ސ )) ၏ļ ༆ '6 ؿ · ࡛֋һ౧ - ࡛֋خ)ÅP Ȗ - / % ࡛֋/ 3 J ᇍ 2 7Ϥ ၠූ İ ࡛֋ɢ 6ၒ ࡛֋ᄇNj ࣣ0XOWLSOH 6F H - 8 Ȗਢæ- - - - ҅ 3 '6 ȩ / G Gඥልc / - -"Ȗ Ǣ İ5HDOLVP நҔ() - ơȖ t'6 ȩ ቅ ļ ० İ ׷Ȗ ̤ b Ȗ Ǝ ० - ( நҔ())ODW (DUW K ֧ < İ ֧ Ġ Ƒ - =ၠ ֧ ȏ -׷ Ȓ( 8 Ȗ Ƣ நҔ()ቅ)- 35HDO (DUW K Ҕ < İ Ҕ Ġ Ƒ -׷ Ȓ( ȏ ȩ$ ० ҅ "Ȗ ͪநҔ Ǒ ̤ ֧ඥ5HGGHQLQ J ඔ ׷Ȗ- - ඔ ҅ Ƒ ס੓GǢ Ʋඔ༆ J Ȗ Ƒ ؉ ҅ %؉ İ ࡙[6N\ İ -'HQVLW\ w w -Ҕ İ ` #) ೂѤ Ρȉv /- خ)ÅP 3 '68ȑ-׷ ၏ļ İđ 2 ɢ / `w ஧9Ȋ w ၠූ /dzdz / ȏ< ೂ / ׷Ď 2ӝ ၠූȊ w w ɢ / ֦̚< ֧ඥ ඔ 8 Ȗ ෪ƛ ඔ༆ ቅ)Ȗּ)ȩw ɢ γȩ 2 ȉූ ɢƱ / w ඔ < ༆ ֧ඥ*OR Z G ̤ ( G ೂ<İ ѤƑ ܖ / G 8 2ӝ ǎ < İ G ס )༐ Gخ)ÅP ̤ 2 ɢ ȩ / ᇍ G ZӀ . Ʀ ࣣ ೂ ܖ G pȖ ȩ - Ϥ <*OR Z 6K DUS G خ)ÅP Ʋ b 8ȑ̚+ 6FDOH 2 7 - خ)ÅP ɢ İ w ̤ ś w 2 Ҕ / ܖ w + t ၏ļˤ'' H[S K +B VFDOH2 ɢ 2Ӎİ w ልc "&RORU ༆ Ȗ ȩ - - ̓t İ ༆ Ρ ༆ Ȗ GV PD[ /- ȑJ ༆ ܣ ༆- ) - ༆ ޻t) İ༆ 3t) ༆*OR Z 6K DUSQHVV G - - ơȖ- G 2 ɢ G Z NJ"+D]H -'HQVLW\ w - خ)ÅP ÅP Ӏ Ȗ Ƒ ` 2 ɢ Ǣ Ȗ ȩ - ʍ+ 6FDOH 2 7 - خ)ÅP t w ̤ ś w 2ɢ 2Ӎ w ልc "&RORU ༆ Ȗ ȩ - - ̓t Ӏ ໘ ༆ Ρ ༆ Ȗ GV PD[ / - ȑJ ༆ ܣ ༆- )%UL JK WQHVV Ǣ - خ)ÅP ÅP Ӏ Ǣ 2 ɢ ༆ Ǣ - خ)ÅP < 'HQVLW\ w خ)ÅP Ʋ)༐ Ȗ / ࢻ Ӏ 8 ȖHͪ- w ȩȖ İ ̤ I.Ǣ ቅ)Ȗ t Hͪ- Ϥ5DLQ E R Z -5DLQ E R Z - ਢæ- - ˋƢ Ȗ / Ȗܖ ҧ <Ǣ:LGW K ҧ - خ)ÅP t ҅ ƿ ҧ Ǣ ᇍ ɢ / ҧ%UL JK WQHVV Ǣ - خ)ÅP t Ǣ 2 ɢ / čdz$ < t- ੓G ܝ&ORXGV 3DUDPHWHUV ǑϤ Ӎ^ǑϤ Ӎ^ - ౧ ܖ ƑǑӀ - Ϥ Ӎ^ /$೜ŝ ) ǑӀ # ǑӀ ͪ ĵ Wజ Z ǑӀ3 < ਢæ҅ 6ၒڣ̕ % ǑӀ ׷̵ IJ Ƒ ҅ $ ҅ ȩ 8VH /D\H ȩ Ӏ - ˫ǑӀ-$GG ͪ Ρ $GG ͪ ǑӀ NJ IJ Ƒ '6 ׷̵ˋƢ( İ ᇰ Ρ ǑӀ5HPR Y H ׷̵௯ ǑӀǑӀ $ ּ)ȩ 8VH /D\H ȩ Ӏ - ˫/D\HU 1DPH Ӏ -/ ( ӀLˣΡ ҅ ̤ͪ ŝ௯ ǑӀ - ǑӀ) Z 3ͨ Jȩ -tȉǑӀ Ĝ×8VH /D\HU ȩ Ӏ - 8VH /D\HU ȩ Ӏ - ˫- ǑӀ ˫&OXQGV Ǒ -7\SH ń ǑӀń 6WUDWXV ӀǑ <&LUUXV ^Ǒ - ½'Ρ - ȩ ȑ ǑӀ6WUDWXV ӀǑ Ƙ ǑӀ - Ʀ İ&LUUXV ^Ǒ ඖŝ ǑӀ 2İ&RORU ༆ ȩ - - ̓tǑӀ ( ༆ ౒Ρ Ρ ༆ ܣ ༆- ) ༆ &RORU 0XOWLSOLH ༆ H خ)ÅP ÅP Ʀܖ ༆ ҅ t ༆ּ ̤ǑӀ Ǣ 2 ɢ / Ǣ Ǒ ׷Ȋ ɢ / 6 Ǒ5DQGRP 6HHG Ѥ - خ)ÅP ÅP Ѥ Ѥ Ʋ Ǒ؀Ġ$OWLWXGH ê - خ)ÅP ÅP-t ǑӀ2 ܖ 2 ಯΡȉ t ᇍ2 Ǒ ᇍֽ Ǒ b . ᇍ ؉ ༆ၠූ'HQVLW\ w - Ϥ Ǒ w 2 w ɢ / ` ǑӀ ׷Ȋw ၠූ Ʋ ǑӀƎ 3 " ּ)" w ɢ<-׷ ؉` ၠූ ސ ) ׷ȩ w ɢ ȩ Ȋ ؉` ɢ Ǝ ࡙ < Ǒ༆)' &ORXGV 'Ǒ -'Ǒ '6 Hͪ $ 2 < Ǒ Ҕ "İ Ĝؓ ` ࡚ - ၠූ- Ƒ/ ሂ Ď#ּ)- ̤ ȩ - - /؉ ० ÅཔȖ ( - ȩ ҅ ҅ ௭Nj İ' &ORXGV 'ǑӀ - ਢæ- - ȩ׷̵-t ǑӀ( 'ǑӀ6WHS 6L]H ࡛֋x 6ၒ ' Ǒ 'Ǒ Ĝ ` (` '6 · Ƣ Gඥ++࡛Ꮦ-NjǑv tǑ؀Ġ< ༆ ᇍ ࡛֋x )ŝ Ǒ 78 ɢ( நҔ 2࡛֋x ׷` dz( $ Ʋ W ઇ6FDWWHULQ J - خ)ÅP ÅP੓G-ˣǑӀ · ȩ Ҕ / Ǒ ǎगw ࢠೂѤȩ҅ Gඥ Ƴ - நႋ ( # <Ǒ%ƿw ) %Ǒđ /7K LF N QHVV ` '6Ƒ 'Ǒ %Ď Ƒ Ǿ ` " Ǒń Ĝ× ǑӀȏ ^Ǒ ҵ 7Ѥ --.ҵ $OWLWXGH ê خ)ÅP "Ǒt) 2 #"Ǒt) Ӏ -Nj7K LF N QHVV ` خ)ÅP )ၘȋ $OWLWXGH ê 7K LF N QHVV ` गw ǑӀ5H J XODULW\ - Ϥ ÅPǑŝŶ 2 ɢ / *w Ǒ6K DSH ؀Ġ -'HWDLO ŝ༐ - خ)ÅP ÅPǑ ŝ༐ś 2 ɢ -t ǑӀ / ŝ༐8 ŝ༐ NJ - ࣣ ਢæ '6 %W (Ȗ - 3 ŝ༐ś %Wś ၏ļ ޖǑ 2 ` I. İ & <J Ϥ6FDOH 7 - خ)ÅP ÅP Ƒ-tǑӀ 7 8 Ǒ 7ɢ ǎ 2 Ǒ ؀Ġ 8 7 ǎ ǑӀ6FDOH ; ;ᇄ 7 - خ)ÅP ÅP׷̵ǑӀࣵ ;ᇄ " 8 ;" ɢ ǎ ቅ)Ǒ ࣵ;ᇄ _" ·Ӎ + 8 ၠූɢ ǎ ቅ)Ǒ ࣵ GV PD[ ַ ;ᇄ 2Ӎ&R Y HUD J H - خ)ÅP tǑ İ6K DUSQHVV - خ)ÅP ÅP׷̵-tǑӀ ᆾ Ȋɢ / NJ" ׷ 2 ɢ / Ҕ 0(நႋ/RFDOL]HG tȉ- tȉ- t Ƒ-t Ĝ×Z ǑӀ ȩ - tȉÅP '6 İ IJ Ƒ ̤ ̤ ǑӀ./RFDOL]HG tȉ - ਢæ- - tȉǑӀ tȉǑӀ I. İ 3 NJ ˷t) ඪ [ؖϤ - NJ İ IJ 8 ҅ ("༆$GG /RFDOL]H ͪtȉ Ρ - (-t ǑӀ ͪ tȉZ (ǑӀ ͪ ၏ᇰ tȉZ5HPR Y H /RFDOL]H tȉ Ρ - ׷̵-t tȉZ5DGLXV [ؖ - خ)ÅP tȉ [ؖ ࣣ ǑӀ ȩ IJ v - ၠූ5H J XODULW\ - خ)ÅP ÅP׷̵-tǑӀ tȉNJ < 2 ɢ /< ǑNJ"&HQWHU [ \ Ƒؽ[ \ - خ)ÅP tȉǑ Ƒؽ tȉ [ؖ - Č2Ӎ6WDWLF - ਢæ- - 3 '6tȉƑؽ γȩǑӀW -W ׷- - ࡘ Ƒؽ;<Ƒؽ< %W+ Ǒ-W0RWLRQ -W -0RWLRQ -W Ϥ ȩ Nj İ Ǒ/ W - ҅ ෺ ě3K DVH ȉ - خ)ÅP Ǒ <ग" - %Ď "2II VHW ɯ - خ)ÅP Ǒ GV PD[ Ρˍ ɯ -.ɢ WǑ/ Nj ȩ IJ - Ǟǒ W Ǒ -W6K DGR Z V ؉ -- - ˫Ǒ%ƿƉ < ؉ݍ7K LF N QHVV ` - خ)ÅP ȩǑ ؉ Ǣ 2 ɢ गw Ǒ #Ȋ ɢ ǢǑ*URXQG 6K G ؉ ׷ਢæ- - -t ǑӀ Ƒ J ěȏ ݍ ؉ ȩ ฬ خ)ÅP ÅP ؉ 6,QGLUHFW /L JK W ޻đ -- ,QGLUHFW /L JK W ޻đ - Ρ - $ t ޻đ ༆ 0XOWLSOLHU H Ϥ ޻đ0XOWLSOLHU H - خ)ÅP ÅP -t ǑӀ ޻đ 2 ɢ / Ǣ Ǒ#Ȋ ɢ / ༆ Ǒ8VHU FRORU ´ ༆ - ׷- - ਢæ ˋƢ ´- ༆ Ȓ( ޻đ - - ǑӀ ༆ 3'UHDP6FDSH 7HUUD '6 ؀'UHDP6FDSH 7HUUD '6 ؀ -'6 ؀ඪ ҈ / J $ - - ȑ ႋ ؀ ֨ ӝ < _ ̤<"Ʋ ֧ <֦ ࣯ ҅.$ႋJ҅ GV PD[ ؀ J '6 ؀ඪ ȩ ० ܾ $ ë#˷p० )ŝ ؀ ( ؀ěȏ ַ ě ȑȏ ܖ $ ۈ० - ڣ̕ ͪ ŝ༐ 8 F ȑȏ ቅҵ 3 ؀० Ҕ ȑȏ =8)༐- )ȩ '6 ؀ඪ ၠ၏ ؀ ౒Ρ Ʀ ȑ ַე ȉ ე ( ˏ׷ 2 ე #ȩ ˷ූ J ҈I _V ȉ "P 8 நҔ ؀Ġ ҅-ˋƢ ˣ .ऋ ޖ '(0 6'76<7HUUD J HQ׷Ǝ ؀ '6 ؀ඪ -˷ූ-Ĝt2 <ɤ '6 ؀ '6 <'6 ე ූ *"ᇕ Ƒ ࡚Ǝ Ҕ ؀ ౒Ρ<'6 ؀'6 ؀ඪ -Nj-ˣ 3 J ½ Ƒ- 'UHDP6FDSH 2E M HFWV '6ěȏ - ၡӍ^ / - జ ύ 7HUUD ؀ ȩ ҅ ȑ ƑΡ ½ ؀ Ď - 3 6ၒڣ̕ ؀/ ҈I֧ ළ -Njȩ 7HUUD (GLWRU ؀"ᇕ "҅ ͪŝ༐- दW ) ؀2 2 ੔ t ؀ළ 2 Č ؀ ඛ ༆Z 5*% ූސI.2 ၠූ ܖ ඛ6༆Z 5*% ؀ I .ɢ #) ූސҔ7 జ ֋ ؀"ᇕ Ƒµ" ؀2ந ׷- ੔ t"- ؀ළ ҅ -࡙8ܖ ǢZ ੔ Å ළ ěȏ ༆ " Z ළ ؀ 2-µW " ؀ - ˣ-NjҔ ç/ '(0<6'76 ޖ *"ᇕ / ½ე ̤ ؀"ᇕ Ƒ/ - ० ළ ؀)̵ Ƒؿ '6 ੓G< '6'6 ؀ " / Ӎ^ < ҈IदW "ᇕ Ρ -޻-ˣ ၠූÅP3DUDPHWHUV Ϥ Ӎ^؀"ᇕ -/ ؀Ӎ^؀ຌ Ӎ^2 Ӎ^ɤ Ӎ^Ŝ ე Ӎ^3DUDPHWHUV Ϥ Ӎ^- '6 ؀Ϥ ( Ӎ^5HQGHU DV *HRPHWU\ Ȓ( ȑȏ० - ׷ ० Ҕ GV PD[ ȑȏ ؀ ਢæ- - - ० - - ࡘ - Č ǎ० 2 ؀ Nj Ƒ$ Ȋ ë#˷p Nj 8 ȩ ੓G#c ᆼސ ؀ ( "ᇕ ළ ěȏ ਢæ- -'6 ؀ 8 ०D Ȓ( O GV PD[ ȑȏ०E Ȓ('6 2 ० ० !஧9 ! ! ! ͪ׷ ० ؀ ( Ҕ ȑȏ .J҅ڣ̕ 8 -W ʼn ͪ= "̒ * "̒ ̤ Ƒ ० ළ ؀*ULG ළ -+HL JK W 2 - خ)ÅP ÅP ؀ 2 ؀"ᇕ /ܖ ੔ ඛ ༆Z [ 2̤- ś:LGW K ҧ - خ)ÅP ÅP ؀ ҧ9LH Z SRUW 6H J V ࢍ 8 5HQGHU DV *HRPHWU\ Ȓ( ȑȏ० ࣣ ਢæ - خ)ÅPt) GV PD[ Ƒ ࢍ - ɢ ëc2 ɢ ࢍ Z K LF K FDQ E H DV K L JK DV ׷5HQGHU DV *HRPHWU\ Ȓ( ȑȏ० - ਢæ - خ)ÅP t)० ؀ ࢍ ɢ 5HQGHU VH J V ० ࢍ2SHQ (GLWRU ܣ "ᇕ Č - ܣ ؀"ᇕ )'UHDP6FDSH 7HUUD (GLWRU '6 ؀"ᇕ؀"ᇕ -'6 ؀"ᇕ IJ दW )IJ ҅ ე t) 2 ූސ ؀Ġ҅/ ؀ ࡚๣t $ Ƒ- J҅ěȏ ҅/ - Ȓ ؿ - ؀ěȏ Č 2SHQ (GLWRU ܣ "ᇕ - ̤- )IJ . ඪ'Ρ ˣ ޖ Ĝ× < ࡙ Ȓ 2҅ ޮ 8 -ၡ <- JIJ ׷̵҈I6༆ Ǟǒ "P2 <ɤ Ʊ -Nj'Ρ tĜ× 2 ე )IJ NJ "2 "ऴ t)Ĝ×Ӑ < 2 ຌ Nj 3 - ඪ  Ȓ IJ - ٫Č -/7HUUHD (GLWRU ؀"ᇕ 'Ρ؀"ᇕ / 'Ρ )LOH (GLW "ᇕ 0RGL I\ 6HOHFWLRQ - <9LH Z)LOHV,PSRUW 7HUUDLQ ᇗˣ ؀ - - WᇗˣIJ '6 ؀ ᇗˣ ( 7(5 86*6 '(0 6'76 '') < '67([SRUW 7HUUDLQ ᇗ ؀ ᇗ '6 ؀ '672SWLRQV - Ρ ҅ )8QGR 5HGR /> -/H Y HOV ś - خ)ÅP ၠූ2 ළ C p ë"̒ / ɢ - ÅP p C ë#8QGR 5HGR /> "̒ ś ( ê 2 ළ ࢍ ҵ - [ [ [ p༐ ˷pİ 8 ࢍ ؀% - v/ ˷p İ*UDGLHQW -(OH Y DWLRQ &RORU 2 ༆ -/$ ê 2 ༆ ȩ ؀"ᇕ / 2 ༆ NJ Ȋê Z NJ 2ê Z0D N H 'H I DXOW ၠ(6ၒ Č - ȩၠූ3 ê 2 ༆(6ၒၠූ0RXVH 6 -&HQWHU 3RLQWHU Ƒؽ - - ˫6 ؀ IJ / ½ê 2 ළ Ġ &ORVH ˫ Ρ - - ˫ ؀"ᇕ - "ᇕ IJ Ρ ˫ ˫ IJ(GLW "ᇕ8QGR Č - - ؀"ᇕ /· Ȓ5HGR /> Č - - /> ؀"ᇕ /· Ȓ'6 ƿ +ROG p <)HWF K ͩ$Ϥ# >'5,9( @?>0$;',5@?DXWR E DF N?'UHDPVFDSH K OG+ROG p p/ ළ)HWF K ؀"ᇕ / / ළ&URS 6HOHFWLRQ - S Ρ - - $ȩp 2 ე - . (׷̵ 2 ؀ ˏ I. IJ ȩ - - ؿ ȩp ؀2 ੔ ე - - .&OHDU $OO I. I. ؀ -)̵ ٫0RGL I\'Ρ 8- . ͪ ੔ 2 'ΡƑČ ȑ -ˣ҅ ƑΡ ȑ -t҅,Q Y HUW - 2 ɢ ܖ 6༆ Z ༆Z )/Ď0LQ DQG 0D[ $OWLWXGH Ȋ< 2ê -. ÅP2 - ؉ &6WUHQ J W K G Z NJ"6PRRW K G - ֧ ؀2 ɢ6WUHQ J W K t̤ ؀ G / G ̤6K DUSHQ - ؀2 ɢ6WUHQ J W K - ÅP t̤ ؀ / ̤(G J HV NJ" - G ؀ළ NJ"6L]H *ɢ [2NJ" ࡙ɢ Ȋ҅(G J H 7\SH NJ"ń - Ϥ ·Ӎń ؀ ؀) - ȩ ؀ - ~ӥ 3ͨ (҅$½֧ܖ 2/H Y HOV ś - ( ؀ ޖ*DPPDၠූ Ȋ [2 ؀ -$ ɤ -ȩ 2 ̤0LQ DQG 0D[ $OWLWXGH < 2 - ˷ P t *DPPD ȩ - ၠූ 8 ၠූ( 2 ɢ3ODWHDXV 2ύ - t ؀2 ɢ 2ύ0LQ DQG 0D[ $OWLWXGH < 2 - ˷ P t 6WHSV ࡛֋ t t2ύ 2 ɢ Ǝ bᇍ Ġ :LGW K ҧ "P2ύҧ ؉6WHHS - Ϥ tύ ؀ᆾ 2ύ)ɢ( ύ 2 ɢ 2 ɢ 2ύ) "ǎ ºěඥ ħ%OHQG ׷̵၏ļɢ؉ ύ 2 ɢ ħ%R[L I\ - t ؀2 ɢ E R[L I\0LQ DQG 0D[ $OWLWXGH < 2 - ˷ P t6L]H ÅP Ρˍ%OHQG ύ 2 ɢ ħ؉6HOHFWLRQ -8 - -- - Ȓ 8"ऴ ͪ ּ ǎ- ؀2 .6HOHFW $OO - I. I. ê 2 ළ ǎ-t Ġ ༆ ؀ ؀ IJ /'HVHOHFW ë- -,Q Y HUW ᆼ - - - - #࡙)HDW K HU ง ʼn- NJ" - ĜČ$ - Z < ؀) G9LH Z,QWHUDFWL Y H 9LH Z SRUW Ǟǒ ׷- -- - "ᇕ /"ऴ ؀ Ƒ- ̤ - Γp؀ Ƒ ؀ ҅ P 7 - - ۈ"ऴ Ȓ ࡚ ؽ6K R Z1D Y L J DWRU % - - պW W ؀γȩ ؀ % Ƒ W ؀ ؀"ᇕ /Ǟǒ tȉ ؀ - ȩ % Ƒ " " "ᇕ /ᇗˣ ɢ ؀"ᇕ / "0RQRF K URPH Ρ༆ - - 6 "ᇕ ؀ ɤ 6 ༆ Ȋ2 ɢ ༆ 22 ɢ ˫Ã- - ҵ- ̤ ༆ ؀ɤ*ULG ළ ܣ ළ ) / $ IJ ළ < ༆ ਢæ ࡘ'LVSOD\ - ÅPළ=RRP ,Q Č- * ؀ IJ Ƒؽ Č(Ƒؽ=RRP 2XW " Č-" * "5H I UHV K ؀ IJ(OH Y DWLRQ 3DLQW 7RRO 2 J Ρ - 2 IJ Ƒȩ 2 J ҅-%Wܣ ؀"ᇕ NJ (OH Y DWLRQ 3DLQW 2 Ӎ^6ORSH 3DLQW 7RRO ɤ J Ρ - 2 IJ Ƒȩ ɤ J ҅-%Wܣ ؀"ᇕ NJ 6ORSH 3DLQW ɤ Ӎ^7H[WXUH 0DS 3DLQW 7RRO Ŝ ე J Ρ - 2 IJ Ƒȩ Ŝ ე J ҅-%Wܣ ؀"ᇕ NJ 7H[WXUH 0DS Ŝ ე Ӎ^6HOHFWLRQ 7RROV - J - - . 2 ऴ జ 8 ؀- 8µ NJ؀ J*HQHUDWH 7HUUDLQ / ؀ Ӎ^。

OpenCV中文翻译教程资料

OpenCV中文翻译教程资料

OPENCV2基础(补充材料)OpenCV_tutorials翻译资料整理而来翻译材料出处:/opencvdoc/2.3.2/html/doc/tutorials/tutorial s.html[2014/10]目录一、Mat - 基本图像容器 (2)二、OpenCV如何扫描图像、利用查找表和计时 (9)三、矩阵的掩码操作 (18)四、使用OpenCV对两幅图像求和(求混合(blending)) (22)五、改变图像的对比度和亮度 (25)六、图像平滑处理 (30)七、腐蚀与膨胀(Eroding and Dilating) (37)八、实现自己的线性滤波器 (45)九、给图像添加边界 (49)十、Sobel 导数 (55)十一、霍夫线变换 (61)十二、直方图均衡化 (68)十三、仿射变换 (73)十四、Remapping 重映射 (81)一、 Mat - 基本图像容器目的从真实世界中获取数字图像有很多方法,比如数码相机、扫描仪、CT或者磁共振成像。

无论哪种方法,我们(人类)看到的是图像,而让数字设备来“看“的时候,则是在记录图像中的每一个点的数值。

比如上面的图像,在标出的镜子区域中你见到的只是一个矩阵,该矩阵包含了所有像素点的强度值。

如何获取并存储这些像素值由我们的需求而定,最终在计算机世界里所有图像都可以简化为数值矩以及矩阵信息。

作为一个计算机视觉库,OpenCV其主要目的就是通过处理和操作这些信息,来获取更高级的信息。

因此,OpenCV如何存储并操作图像是你首先要学习的。

Mat在2001年刚刚出现的时候,OpenCV基于C语言接口而建。

为了在内存(memory)中存放图像,当时采用名为IplImage的C语言结构体,时至今日这仍出现在大多数的旧版教程和教学材料。

但这种方法必须接受C语言所有的不足,这其中最大的不足要数手动内存管理,其依据是用户要为开辟和销毁内存负责。

虽然对于小型的程序来说手动管理内存不是问题,但一旦代码开始变得越来越庞大,你需要越来越多地纠缠于这个问题,而不是着力解决你的开发目标。

OpenCv参考手册-Cxcore绘图函数

OpenCv参考手册-Cxcore绘图函数

OpenCv参考手册-Cxcore绘图函数.txt Wikipedia,自由的百科全书绘图函数作用于任何象素深度的矩阵/图像. Antialiasing 技术只能在 8 位图像上实现.所有的函数包括彩色图像的色彩参数(色彩参数是指 rgb 它是由宏 CV_RGB 或 cvScalar函数构成。

)和灰度图像的亮度。

如果一幅绘制图形部分或全部位于图像之外,那么对它先做裁剪。

对于彩色图像正常的色彩通道是 B(蓝),G(绿),R(红)……如果需要其它的色彩,可以通过 cvScalar 中的特殊色彩通道构造色彩,或者在绘制图像之前或之后使用cvCvtColor 或者 cvTransform 来转换。

目录1 曲线与形状 o 1.1 CV_RGB o 1.2 Line o 1.3 Rectangle o 1.4 Circle o 1.5 Ellipseo 1.6 EllipseBox o 1.7 FillPoly o 1.8 FillConvexPoly o 1.9 PolyLine 2 文本 o 2.1InitFont o 2.2 PutText o 2.3 GetTextSize 3 点集和轮廓 o 3.1 DrawContours o 3.2InitLineIterator o 3.3 ClipLine o 3.4 Ellipse2Poly[编辑]曲线与形状[编辑]CV_RGB创建一个色彩值. #define CV_RGB( r, g, b ) [编辑] cvScalar( (b), (g), (r) )Line绘制连接两个点的线段 void cvLine( CvArr* img, CvPoint pt1, CvPoint pt2, CvScalarcolor, int thickness=1, int line_type=8, int shift=0 ); img 图像。

pt1 线段的第一个端点。

pt2 线段的第二个端点。

opencv中文手册范本

opencv中文手册范本

目录∙ 1 梯度、边缘和角点o 1.1 Sobelo 1.2 Laplaceo 1.3 Cannyo 1.4 PreCornerDetecto 1.5 CornerEigenValsAndVecso 1.6 CornerMinEigenValo 1.7 CornerHarriso 1.8 FindCornerSubPixo 1.9 GoodFeaturesToTrack ∙ 2 采样、插值和几何变换o 2.1 InitLineIteratoro 2.2 SampleLineo 2.3 GetRectSubPixo 2.4 GetQuadrangleSubPixo 2.5 Resizeo 2.6 WarpAffineo 2.7 GetAffineTransformo 2.8 2DRotationMatrixo 2.9 WarpPerspectiveo 2.10 WarpPerspectiveQMatrixo 2.11 GetPerspectiveTransformo 2.12 Remapo 2.13 LogPolar∙ 3 形态学操作o 3.1 CreateStructuringElementExo 3.2 ReleaseStructuringElemento 3.3 Erodeo 3.4 Dilateo 3.5 MorphologyEx∙ 4 滤波器与色彩空间变换o 4.1 Smootho 4.2 Filter2Do 4.3 CopyMakeBordero 4.4 Integralo 4.5 CvtColoro 4.6 Thresholdo 4.7 AdaptiveThreshold∙ 5 金字塔及其应用o 5.1 PyrDowno 5.2 PyrUp∙ 6 连接部件o 6.1 CvConnectedCompo 6.2 FloodFillo 6.3 FindContourso 6.4 StartFindContourso 6.5 FindNextContouro 6.6 SubstituteContouro 6.7 EndFindContourso 6.8 PyrSegmentationo 6.9 PyrMeanShiftFilteringo 6.10 Watershed∙7 图像与轮廓矩o7.1 Momentso7.2 GetSpatialMomento7.3 GetCentralMomento7.4 GetNormalizedCentralMomento7.5 GetHuMoments∙8 特殊图像变换o8.1 HoughLineso8.2 HoughCircleso8.3 DistTransformo8.4 Inpaint∙9 直方图o9.1 CvHistogramo9.2 CreateHisto9.3 SetHistBinRangeso9.4 ReleaseHisto9.5 ClearHisto9.6 MakeHistHeaderForArrayo9.7 QueryHistValue_1Do9.8 GetHistValue_1Do9.9 GetMinMaxHistValueo9.10 NormalizeHisto9.11 ThreshHisto9.12 CompareHisto9.13 CopyHisto9.14 CalcHisto9.15 CalcBackProjecto9.16 CalcBackProjectPatcho9.17 CalcProbDensityo9.18 EqualizeHist10 匹配o10.1 MatchTemplateo10.2 MatchShapeso10.3 CalcEMD2梯度、边缘和角点Sobel使用扩展 Sobel 算子计算一阶、二阶、三阶或混合图像差分void cvSobel( const CvArr* src, CvArr* dst, int xorder, int yorder, int aperture_size=3 );src输入图像.dst输出图像.xorderx 方向上的差分阶数yordery 方向上的差分阶数aperture_size扩展 Sobel 核的大小,必须是 1, 3, 5 或 7。

OpenCV参考手册之Mat类详解(一)

OpenCV参考手册之Mat类详解(一)

OpenCV参考手册之Mat类详解(一)译文参考The OpenCV Reference Manual (Release 2.3)August 17 2011Mat类OpenCV c + + n 维稠密数组类class CV_EXPORTS Mat{public:/ / … …很多的方法....../*!包括几位字段:-神奇的签名-连续性标志-深度(Note:应该是位深)-通道数*/int flags;(Note :目前还不知道flags做什么用的)//!数组的维数,> = 2int dims ;//!行和列的数量或 (-1,-1) 此时数组已超过 2 维int rows,cols;//!指向数据的指针uchar *data ;//!指针的引用计数器;/ / 阵列指向用户分配的数据时,当指针为 NULLint * refcount ;/ / 其他成员...};Mat类表示一个n 维的稠密数值型的单通道或多通道数组。

它可以用于存储实数或复数值的向量和矩阵、灰度或彩色图像、体素、向量场、点云、张量、直方图(尽管较高维的直方图存储在SparseMat 可能更好)。

M 数组的数据布局是由阵列 M.step[]定义的,使元素的地址(i0,。

i M.dims-1),其中 0<= i k < M.size [k],可以计算为:addr( Mi0 ;:::;i M.dims-1) = M.data+ M.step[ 0]*i0 + M.step[ 1] *i1+ .…+ M.step[ M:dims- 1] i M:dims- 12维的数组的情况下根据上述公式被减至:addr( M i,j)= M.data+ M.step[ 0]*i+ M.step[ 1] *j请注意,M.step[i] > =M.step[i+1] (事实上,M.step[i] > =M.step[i+1]*M.size[i+1])。

opencv中文教程

opencv中文教程

opencv中文教程OpenCV 是一个开源的计算机视觉库,支持许多图像和视频处理功能。

它是一种强大的工具,可用于图像增强、特征提取、目标检测等应用。

OpenCV 提供了丰富的函数和类,使得图像处理变得简单且高效。

下面是一些常用的功能和函数的示例:1. 图像读取和显示```import cv2img = cv2.imread("image.jpg") # 读取图像cv2.imshow("Image", img) # 显示图像cv2.waitKey(0) # 等待按键cv2.destroyAllWindows() # 关闭窗口```2. 图像灰度化```import cv2img = cv2.imread("image.jpg")gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 转为灰度图像cv2.imshow("Gray Image", gray_img)cv2.waitKey(0)cv2.destroyAllWindows()```3. 图像边缘检测```import cv2import numpy as npimg = cv2.imread("image.jpg", 0)edges = cv2.Canny(img, 100, 200) # 边缘检测cv2.imshow("Edges", edges)cv2.waitKey(0)cv2.destroyAllWindows()```4. 目标检测```import cv2img = cv2.imread("image.jpg")cascade =cv2.CascadeClassifier("haarcascade_frontalface_default.xml") # 使用人脸识别级联分类器gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces = cascade.detectMultiScale(gray_img, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30)) # 检测人脸for (x, y, w, h) in faces:cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2) # 绘制矩形框cv2.imshow("Detected Faces", img)cv2.waitKey(0)cv2.destroyAllWindows()```这些只是 OpenCV 的一小部分功能,它还提供了许多其他功能,如图像滤波、形态学操作、图像匹配等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录∙ 1 梯度、边缘和角点o 1.1 Sobelo 1.2 Laplaceo 1.3 Cannyo 1.4 PreCornerDetecto 1.5 CornerEigenValsAndVecso 1.6 CornerMinEigenValo 1.7 CornerHarriso 1.8 FindCornerSubPixo 1.9 GoodFeaturesToTrack ∙ 2 采样、插值和几何变换o 2.1 InitLineIteratoro 2.2 SampleLineo 2.3 GetRectSubPixo 2.4 GetQuadrangleSubPixo 2.5 Resizeo 2.6 WarpAffineo 2.7 GetAffineTransformo 2.8 2DRotationMatrixo 2.9 WarpPerspectiveo 2.10 WarpPerspectiveQMatrixo 2.11 GetPerspectiveTransformo 2.12 Remapo 2.13 LogPolar∙ 3 形态学操作o 3.1 CreateStructuringElementExo 3.2 ReleaseStructuringElemento 3.3 Erodeo 3.4 Dilateo 3.5 MorphologyEx∙ 4 滤波器与色彩空间变换o 4.1 Smootho 4.2 Filter2Do 4.3 CopyMakeBordero 4.4 Integralo 4.5 CvtColoro 4.6 Thresholdo 4.7 AdaptiveThreshold∙ 5 金字塔及其应用o 5.1 PyrDowno 5.2 PyrUp∙ 6 连接部件o 6.1 CvConnectedCompo 6.2 FloodFillo 6.3 FindContourso 6.4 StartFindContourso 6.5 FindNextContouro 6.6 SubstituteContouro 6.7 EndFindContourso 6.8 PyrSegmentationo 6.9 PyrMeanShiftFilteringo 6.10 Watershed∙7 图像与轮廓矩o7.1 Momentso7.2 GetSpatialMomento7.3 GetCentralMomento7.4 GetNormalizedCentralMomento7.5 GetHuMoments∙8 特殊图像变换o8.1 HoughLineso8.2 HoughCircleso8.3 DistTransformo8.4 Inpaint∙9 直方图o9.1 CvHistogramo9.2 CreateHisto9.3 SetHistBinRangeso9.4 ReleaseHisto9.5 ClearHisto9.6 MakeHistHeaderForArrayo9.7 QueryHistValue_1Do9.8 GetHistValue_1Do9.9 GetMinMaxHistValueo9.10 NormalizeHisto9.11 ThreshHisto9.12 CompareHisto9.13 CopyHisto9.14 CalcHisto9.15 CalcBackProjecto9.16 CalcBackProjectPatcho9.17 CalcProbDensityo9.18 EqualizeHist∙10 匹配o10.1 MatchTemplateo10.2 MatchShapeso10.3 CalcEMD2梯度、边缘和角点Sobel使用扩展 Sobel 算子计算一阶、二阶、三阶或混合图像差分void cvSobel( const CvArr* src, CvArr* dst, int xorder, int yorder, int aperture_size=3 );src输入图像.dst输出图像.xorderx 方向上的差分阶数yordery 方向上的差分阶数aperture_size扩展 Sobel 核的大小,必须是 1, 3, 5 或 7。

除了尺寸为 1,其它情况下,aperture_size ×aperture_size 可分离内核将用来计算差分。

对 aperture_size=1的情况,使用 3x1 或 1x3 内核(不进行高斯平滑操作)。

这里有一个特殊变量 CV_SCHARR (=-1),对应 3x3 Scharr 滤波器,可以给出比 3x3 Sobel 滤波更精确的结果。

Scharr 滤波器系数是:对 x-方向或矩阵转置后对 y-方向。

函数 cvSobel 通过对图像用相应的内核进行卷积操作来计算图像差分:由于Sobel 算子结合了 Gaussian 平滑和微分,所以,其结果或多或少对噪声有一定的鲁棒性。

通常情况,函数调用采用如下参数 (xorder=1, yorder=0, aperture_size=3) 或 (xorder=0, yorder=1, aperture_size=3) 来计算一阶x- 或 y- 方向的图像差分。

第一种情况对应:核。

第二种对应:或者核的选则依赖于图像原点的定义 (origin 来自 IplImage 结构的定义)。

由于该函数不进行图像尺度变换,所以和输入图像(数组)相比,输出图像(数组)的元素通常具有更大的绝对数值(译者注:即像素的位深)。

为防止溢出,当输入图像是 8 位的,要求输出图像是 16 位的。

当然可以用函数 cvConvertScale 或cvConvertScaleAbs 转换为 8 位的。

除了 8-位图像,函数也接受 32-位浮点数图像。

所有输入和输出图像都必须是单通道的,并且具有相同的图像尺寸或者ROI尺寸。

Laplace计算图像的 Laplacian 变换void cvLaplace( const CvArr* src, CvArr* dst, int aperture_size=3 ); src输入图像.dst输出图像.aperture_size核大小 (与 cvSobel 中定义一样).函数 cvLaplace 计算输入图像的 Laplacian变换,方法是先用 sobel 算子计算二阶 x- 和 y- 差分,再求和:对 aperture_size=1 则给出最快计算结果,相当于对图像采用如下内核做卷积:类似于 cvSobel 函数,该函数也不作图像的尺度变换,所支持的输入、输出图像类型的组合和cvSobel一致。

Canny采用 Canny 算法做边缘检测void cvCanny( const CvArr* image, CvArr* edges, double threshold1,double threshold2, int aperture_size=3 );image单通道输入图像.edges单通道存储边缘的输出图像threshold1第一个阈值threshold2第二个阈值aperture_sizeSobel 算子内核大小 (见 cvSobel).函数 cvCanny 采用 CANNY 算法发现输入图像的边缘而且在输出图像中标识这些边缘。

threshold1和threshold2 当中的小阈值用来控制边缘连接,大的阈值用来控制强边缘的初始分割。

∙注意事项:cvCanny只接受单通道图像作为输入。

∙外部链接:经典的canny自调整阈值算法的一个opencv的实现见在OpenCV中自适应确定canny算法的分割门限PreCornerDetect计算用于角点检测的特征图,void cvPreCornerDetect( const CvArr* image, CvArr* corners, int aperture_size=3 );image输入图像.corners保存候选角点的特征图aperture_sizeSobel 算子的核大小(见cvSobel).函数 cvPreCornerDetect 计算函数其中D表示一阶图像差分,表示二阶图像差分。

角点被认为是函数的局部最大值:// 假设图像格式为浮点数IplImage* corners = cvCloneImage(image);IplImage* dilated_corners = cvCloneImage(image);IplImage* corner_mask = cvCreateImage( cvGetSize(image), 8, 1 ); cvPreCornerDetect( image, corners, 3 );cvDilate( corners, dilated_corners, 0, 1 );cvSubS( corners, dilated_corners, corners );cvCmpS( corners, 0, corner_mask, CV_CMP_GE );cvReleaseImage( &corners );cvReleaseImage( &dilated_corners );CornerEigenValsAndVecs计算图像块的特征值和特征向量,用于角点检测void cvCornerEigenValsAndVecs( const CvArr* image, CvArr* eigenvv,int block_size, int aperture_size=3 ); image输入图像.eigenvv保存结果的数组。

必须比输入图像宽 6 倍。

block_size邻域大小 (见讨论).aperture_sizeSobel 算子的核尺寸(见 cvSobel).对每个象素,函数 cvCornerEigenValsAndVecs 考虑block_size × block_size 大小的邻域 S(p),然后在邻域上计算图像差分的相关矩阵:然后它计算矩阵的特征值和特征向量,并且按如下方式(λ1, λ2, x1, y1, x2, y2)存储这些值到输出图像中,其中λ1, λ2 - M 的特征值,没有排序(x1, y1) - 特征向量,对λ 1(x2, y2) - 特征向量,对λ 2CornerMinEigenVal计算梯度矩阵的最小特征值,用于角点检测void cvCornerMinEigenVal( const CvArr* image,CvArr* eigenval, int block_size, int aperture_size=3 );image输入图像.eigenval保存最小特征值的图像. 与输入图像大小一致block_size邻域大小 (见讨论 cvCornerEigenValsAndVecs).aperture_sizeSobel 算子的核尺寸(见 cvSobel). 当输入图像是浮点数格式时,该参数表示用来计算差分固定的浮点滤波器的个数.函数 cvCornerMinEigenVal 与 cvCornerEigenValsAndVecs 类似,但是它仅仅计算和存储每个象素点差分相关矩阵的最小特征值,即前一个函数的 min(λ1, λ2)CornerHarris哈里斯(Harris)角点检测void cvCornerHarris( const CvArr* image, CvArr* harris_responce,int block_size, int aperture_size=3, double k=0.04 );image输入图像。

相关文档
最新文档