opencv二值化函数cvthreshold

opencv二值化函数cvthreshold

ID:13564614

大小:1.12 MB

页数:57页

时间:2018-07-23

opencv二值化函数cvthreshold_第1页
opencv二值化函数cvthreshold_第2页
opencv二值化函数cvthreshold_第3页
opencv二值化函数cvthreshold_第4页
opencv二值化函数cvthreshold_第5页
资源描述:

《opencv二值化函数cvthreshold》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、opencv二值化函数cvThresholdOpenCV2009-03-2616:00:07阅读4570评论5  字号:大中小 订阅对图像二值化函数cvThreshold的理解Threshold对数组元素进行固定阈值操作voidcvThreshold(constCvArr*src,CvArr*dst,doublethreshold,doublemax_value,intthreshold_type);src原始数组(单通道,8-bitof32-bit浮点数).dst输出数组,必须与src的类型一致,或者为8-bit.threshold阈值max_value使用CV_THRESH_BINAR

2、Y和CV_THRESH_BINARY_INV的最大值.threshold_type阈值类型(见讨论)函数cvThreshold对单通道数组应用固定阈值操作。该函数的典型应用是对灰度图像进行阈值操作得到二值图像。(cvCmpS也可以达到此目的)或者是去掉噪声,例如过滤很小或很大象素值的图像点。本函数支持的对图像取阈值的方法由threshold_type确定:threshold_type=CV_THRESH_BINARY:dst(x,y)=max_value,ifsrc(x,y)>threshold0,otherwise.threshold_type=CV_THRESH_BINARY_INV:

3、dst(x,y)=0,ifsrc(x,y)>threshold;dst(x,y)=max_value,otherwise.threshold_type=CV_THRESH_TRUNC:dst(x,y)=threshold,ifsrc(x,y)>threshold;   dst(x,y)=src(x,y),otherwise.threshold_type=CV_THRESH_TOZERO:dst(x,y)=src(x,y),if(x,y)>threshold; dst(x,y)=0,otherwise.threshold_type=CV_THRESH_TOZERO_INV:dst(x,y)=

4、0,ifsrc(x,y)>threshold;  dst(x,y)=src(x,y),otherwise.左面是图形化的阈值描述:   OpenCV中矩阵数据的访问(一)(LearningOpenCV第三章2)由keystonexu»2008-11-2620:28在OpenCV中有三种方式访问矩阵中的数据元素:容易的方式,困难的方式,以及正确的方式。以下先讲容易的方式和困难的方式。容易的方式最容易的方式是使用宏CV_MAT_ELEM(matrix,elemtype,row,col),输入参数是矩阵的指针,矩阵元素类型,行,列,返回值是相应行,列的矩阵元素,例如:CvMat*mat=cvCr

5、eateMat(5,5,CV_32FC1);floatelement=CV_MAT_ELEM(*mat,float,3,2);以下是一个例子:#pragmacomment(lib,"cxcore.lib")#include"cv.h"#includevoidmain(){CvMat*mat=cvCreateMat(3,3,CV_32FC1);cvZero(mat);//将矩阵置0//为矩阵元素赋值CV_MAT_ELEM(*mat,float,0,0)=1.f;CV_MAT_ELEM(*mat,float,0,1)=2.f;CV_MAT_ELEM(*mat,float,0,

6、2)=3.f;CV_MAT_ELEM(*mat,float,1,0)=4.f;CV_MAT_ELEM(*mat,float,1,1)=5.f;CV_MAT_ELEM(*mat,float,1,2)=6.f;CV_MAT_ELEM(*mat,float,2,0)=7.f;CV_MAT_ELEM(*mat,float,2,1)=8.f;CV_MAT_ELEM(*mat,float,2,2)=9.f;//获得矩阵元素的值floatelement=CV_MAT_ELEM(*mat,float,2,2);printf("%f",element);}CV_MAT_ELEM宏实际上会调用CV_MAT

7、_ELEM_PTR(matrix,row,col)宏来完成任务。CV_MAT_ELEM_PTR()宏的参数是矩阵的指针,行,列。CV_MAT_ELEM()宏和CV_MAT_ELEM_PTR()宏的区别是,在调用CV_MAT_ELEM时,指向矩阵元素的指针的数据类型已经依据输入参数中的元素类型而做了强制转换。,以下是使用CV_MAT_ELEM_PTR()来设置元素的值:#pragmacomment(lib,"cxcore.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。