欢迎来到天天文库
浏览记录
ID:46956120
大小:1.22 MB
页数:9页
时间:2019-12-01
《OpenCV课程论文正稿》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.....OpenCV课程论文—对图像边界的增加和灰度的调节班级:091001班组员:091001102高攀091001106马昊091001119巩红艳指导教师:刘建伟完成时间:2012-10-15学习参考.....一.实验内容给图像增加边框并利用基本的阈值操作对图像的灰度进行调节二.实验目的1.使用OpenCV函数copyMakeBorder设置边界(添加额外的边界)2.OpenCV中的阈值(threshold)函数:threshold的运用三.所用理论1.最简单的图像分割的方法。应用举例:从一副图像中利用阈值分割出我们需要的物体部分(当然这里的物体可以是一部分或者整体)。这样
2、的图像分割方法是基于图像中物体与背景之间的灰度差异,而且此分割属于像素级的分割。为了从一副图像中提取出我们需要的部分,应该用图像中的每一个像素点的灰度值与选取的阈值进行比较,并作出相应的判断。(注意:阈值的选取依赖于具体的问题。即:物体在不同的图像中有可能会有不同的灰度值。一旦找到了需要分割的物体的像素点,我们可以对这些像素点设定一些特定的值来表示。2.填充图像边界的两种方法:a.BORDER_CONSTANT:使用常数填充边界b.BORDER_REPLICATE:复制原图中最临近的行或者列。四.知识详解1.阈值化的类型:a.二进制阈值化在运用该阈值类型的时候,先要选定一个特定的阈
3、值量,比如:125,这样,新的阈值产生规则可以解释为大于125的像素点的灰度值设定为最大值(如8位灰度值最大为255),灰度值小于125的像素点的灰度值设定为0。学习参考.....b.反二进制阈值化该阈值化与二进制阈值化相似,先选定一个特定的灰度值作为阈值,不过最后的设定值相反。(在8位灰度图中,例如大于阈值的设定为0,而小于该阈值的设定为255)。c.截断阈值化同样首先需要选定一个阈值,图像中大于该阈值的像素点被设定为该阈值,小于该阈值的保持不变。(例如:阈值选取为125,那小于125的阈值不改变,大于125的灰度值(230)的像素点就设定为该阈值)。学习参考.....d.阈值化
4、为0先选定一个阈值,然后对图像做如下处理:1像素点的灰度值大于该阈值的不进行任何改变;2像素点的灰度值小于该阈值的,其灰度值全部变为0。e.反阈值化为0原理类似于0阈值,但是在对图像做处理的时候相反,即:像素点的灰度值小于该阈值的不进行任何改变,而大于该阈值的部分,其灰度值全部变为0。2.边框的填充a.RNGrng(123);变量rng,这是一个随机数生成器,用来产生随机边界色彩。学习参考.....b.top=(int)(0.05*src.rows);bottom=(int)(0.05*src.rows);left=(int)(0.05*src.cols);right=(int)(
5、0.05*src.cols);初始化边界宽度参数(top,bottom,left和right)。我们将它们设定为图像src大小的5%。c.value=Scalar(rng.uniform(0,255),rng.uniform(0,255),rng.uniform(0,255));为一个由RNG类型变量rng产生的随机数。随机数的范围在之间。e.程序启动时边界类型为BORDER_CONSTANT(0),因此,一开始边界颜色任意变换;如果用户按‘r’键,边界将会变成原图像边缘的拷贝;如果用户按‘c’键,边界再次变为任意颜色;如果用户按‘ESC’键,程序退出。五.源代码#include"
6、stdafx.h"#includeusingnamespacecv;intthreshold_value=0;intthreshold_type=3;;intconstmax_value=255;intconstmax_type=4;intconstmax_BINARY_value=255;Matsrc,src_gray,dst;char*window_name="ThresholdDemo";char*trackbar_type="Type:0:Binary1:BinaryInverted2:Truncate3:ToZero
7、4:ToZeroInverted";char*trackbar_value="Value";inttop,bottom,left1,right1;intborderType;Scalarvalue;RNGrng(123);学习参考.....///自定义函数声明voidThreshold_Demo(int,void*);/***@主函数*/intmain(intargc,char**argv){intc;///读取一副图片,不改变图片本身的颜色类型(该读取方式为DO
此文档下载收益归作者所有