加载待处理图片,为了便于显示,对图片进行缩放,其实缩放这个小技巧还可以提高后续的处理速度。然后对图片进行灰度处理,然后对图片记性二值化处理,去掉饱和度较低的部分,利用HoughCircles函数,提取轮廓为圆的部分。

注意调整HoughCirles函数的几个参数,可以抓到不同的结果,要耐心根据实际情况调整。

Mat resized;

resize(src,resized,Size(src.cols/ratio,src.rows/ratio));

int w=resized.size().width;

int h=resized.size().height;

Mat gray;

cvtColor(resized,gray,CV_BGR2GRAY);

blur(gray,gray,Size(3,3));

threshold(gray,gray,160,255,THRESH_BINARY_INV);

blur(gray,gray,Size(3,3));

vector circles;

HoughCircles(gray,circles,CV_HOUGH_GRADIENT,2,h/4,25,100,h/32,h/8);

vector::const_iterator it=circles.begin();

while(it!=circles.end())

{

circle(resized,Point((*it)[0],(*it)[1]),2,Scalar(0,0,255),2);

circle(resized,Point((*it)[0],(*it)[1]),(*it)[2],Scalar(0,0,255),2);

++it;

}

namedWindow("src");

imshow("src",resized);

namedWindow("resized");

imshow("resized",gray);

waitKey(0);

opencv物品定位_如何使用OpenCV实现基于标记的定位相关推荐

  1. opencv 打印文字_如何使用OpenCV+Python去除手机拍摄文本底色

    点击上方蓝字关注我们 微信公众号:OpenCV学堂 关注获取更多计算机视觉与深度学习知识 起因 最近经常被要求手机拍摄考试卷,但是拍摄完之后,跟实际的黑白考试卷有很大的色差,打印出来之后背景就变成了灰 ...

  2. 目标定位算法(二)之基于测距的定位算法

    文章目录 基于测距的定位算法 1.最小二乘原理 2.最小二乘定位算法 3.基于RSSI测距的定位算法 4.基于TOA/TDOA的目标定位算法 1)基于TOA测距 2)基于TDOA测距 基于测距的定位算 ...

  3. opencv测试代码_玩转OpenCv(二):安装vs2010和opencv3

    winows10环境 vs2010下载及安装 鉴于此类网上教程很多,不复述(懒?_?). opencv3下载及安装 第一步:去官网挑个版本3下载.注意下载的是win pack.以3.4.5为例.下载完 ...

  4. python opencv 图像切割_使用Python+OpenCV进行图像处理(二)| 视觉入门

    译者 | 磐石 编辑 | 安可 [前言]图像预处理对于整个图像处理任务来讲特别重要.如果我们没有进行恰当的预处理,无论我们有多么好的数据也很难得到理想的结果. 本篇是视觉入门系列教程的第二篇.整个视觉 ...

  5. python opencv 录制视频_如何使用OpenCV、Python和深度学习在图像和视频中实现面部识别?...

    Face ID 的兴起带动了一波面部识别技术热潮.本文将介绍如何使用 OpenCV.Python 和深度学习在图像和视频中实现面部识别,以基于深度识别的面部嵌入,实时执行且达到高准确度. 以下内容由 ...

  6. python opencv录制视频_如何使用OpenCV和Python录制视频?

    我已经看过OpenCV的Python example介绍了如何使用VideoCapture和VideoWriter来捕获和写出视频文件.但我一直在想:OpenCV Error: Assertion f ...

  7. python基于opencv的手势识别_求python opencv 手势识别源代码

    2013-06-22 回答 1.1.介绍introduction 从opencv2.4开始,加入了新的类facerecognizer,我们可以使用它便捷地进行人脸识别实验.本文既介绍代码使用,又介绍算 ...

  8. opencv 轮廓放大_【走进OpenCV】这样腐蚀下来让我膨胀!

    小白导读 学习计算机视觉最重要的能力应该就是编程了,为了帮助小伙伴尽快入门计算机视觉,小白准备了[走进OpenCV]系列,主要帮助小伙伴了解如何调用OpenCV库,涉及到的知识点会做简单讲解. 本文主 ...

  9. opencv自动裁切_荐Python Opencv 之 简单的视频裁剪功能的实现

    Python Opencv 之 简单的视频裁剪功能的实现 目录 一.简单介绍 Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随 ...

最新文章

  1. 【BZOJ】1681: [Usaco2005 Mar]Checking an Alibi 不在场的证明(spfa)
  2. etcd 指定配置文件启动_ETCD 简介 + 使用
  3. Python之列表方法
  4. php fpm 测试,zabbix4.2 监控PHP-FPM运行状态的数据
  5. Ubuntu下的NBD和iscsi挂载
  6. jquery vilidate 使用小例
  7. 怎么在ASP.NET 2.0中使用Membership
  8. VBScript:登录辅助脚本
  9. 因市场垄断 高通被欧盟开出巨额罚单 高通:我不服
  10. Android全面解析Handler
  11. 1.1.0-简介-P8-选举、多数派和租约
  12. 嵌入式软件开发工程师的养成之路——从 推挽输出 开始
  13. java 类复制构造方法_java面向对象入门(3)-java构造方法
  14. 五分钟快速过完Verilog HDL基本概念(1)
  15. linux运维和python运维_Linux运维对比:Shell运维 VS Python运维
  16. electron 读取文件夹内容_读写本地文件
  17. java发送http请求 utf8_Java 发送http请求(get、post)的示例
  18. ASP:KU论坛跳转页面
  19. 五个维度着手MySQL的优化,我和面试官都聊嗨了
  20. 2022-2028年全球与中国智能天线行业发展趋势及投资战略分析

热门文章

  1. SuperSocket框架命令不被识别的一种原因
  2. 网络通信tcp与udp的区别
  3. ASP.NET 服务器部署IIS程序池进程标示配置要和SQL SERVER一致,否则不能拽出数据
  4. 参考的datalist分页helper
  5. 深度学习 《梯度消失和梯度爆炸》
  6. mysql服务器守护程序_MySQL主从服务器的守护进程监视
  7. GAN —— 《Generative Adversarial Nets》
  8. 吴恩达深度学习 —— 4.5 搭建深层神经网络块
  9. 在csdn中输入公式的方法
  10. excite-punastranvirtual.lab振动噪声仿真