基于OpenCV实现的物体定位系统推荐.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于OpenCV实现的物体定位系统推荐

基于OpenCV实现的物体定位系统OpenCV是一个很强大的机器视觉库,利用它我们可以开发出丰富多彩的使用项目。近日,我在研究一个图中物体定位系统。本程序用的是OpenCV2.4.9,附带OpenCV3.0。程序中的原图为我随手拍的一张图片图中有三个物体,都是蓝色的,我首先取原图的蓝色通道变为灰度图灰度图经过中值滤波后可以得到去噪后的图片根据原图的蓝色通道和红色通道的大概取值范围,我们可得到比较满意的二值图为了去掉物体中少量的黑色部分,我用闭运算然而,图中最上面的那个物体里面还有一块很大的黑色(目前我也不知道怎么去掉,如果有大神知道望告知~~)接下来就是找出物体的轮廓最后找到能包围轮廓的最小矩形好了,占时就这么多了下面是配套的程序OpenCV2.4.9半根[cpp]?view plain?copy#includeopencv2\opencv.hpp??#includeiostream??#define?BIN_DIV?110????using?namespace?std;??using?namespace?cv;????int?main()??{??????Mat?srcImg,?midImg,?dstImg;??????srcImg?=?imread(hehe.jpg);??????Mat?xianshi?=?srcImg.clone();??????Mat?redChannel;??????namedWindow(【原图】,?WINDOW_NORMAL);??????imshow(【原图】,?srcImg);??????Mat?grayImg;??????vectorMat?channels;??????split(srcImg,?channels);??????//cvtColor(srcImg,grayImg,COLOR_BGR2GRAY);??????grayImg?=?channels.at(0);??????redChannel?=?channels.at(2);??????namedWindow(【灰度图】,?WINDOW_NORMAL);??????imshow(【灰度图】,?grayImg);??????//均值滤波??????blur(grayImg,?grayImg,?Size(20,?20),?Point(-1,?-1));??????namedWindow(【均值滤波后】,?WINDOW_NORMAL);??????imshow(【均值滤波后】,?grayImg);??????//转化为二值图??????Mat?midImg1?=?grayImg.clone();??????int?rowNumber?=?midImg1.rows;??????int?colNumber?=?midImg1.cols;????????for?(int?i?=?0;?irowNumber;?i++)??????{??????????uchar*?data?=?midImg1.ptruchar(i);??//取第i行的首地址??????????uchar*?redData?=?redChannel.ptruchar(i);??????????for?(int?j?=?0;?jcolNumber;?j++)??????????{??????????????if?(data[j]BIN_DIVredData[j]BIN_DIV?*2/?3)??????????????????data[j]?=?255;??????????????else??????????????????data[j]?=?0;??????????}??????}??????namedWindow(【二值图】,?WINDOW_NORMAL);??????imshow(【二值图】,?midImg1);??????Mat?midImg2?=?midImg1.clone();??????Mat?element?=?getStructuringElement(MORPH_RECT,?Size(40,?40));??????morphologyEx(midImg1,?midImg2,?MORPH_CLOSE,?element);??????namedWindow(【闭运算后】,?WINDOW_NORMAL);??????imshow(【闭运算后】,?midImg2);??????cout??midImg1.channel=??midImg1.channels()??endl;??????cout??mdiImg1.depth??midImg1.depth()??endl;??????//查找图像轮廓??????Mat?midImg3?=?Mat::zeros(mid

文档评论(0)

2017meng + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档