Matlab对图片中的圆形区域标记并计数

  • Part 1
  • Part 2

Part 1

我们拿到的是这样一张卫星图

要求对中间部分的几个大油罐(白色圆形区域)进行计数,就是下图中间的部分(图片被裁剪后)

这里我们使用MATLAB来实现功能

Part 2

因为不会自己写算法,就用了MATLAB中自带的寻找圆形区域的函数
imfindcircles(); (使用圆形 Hough 变换查找圆)

具体用法可在官方文档查找,在这里就不做过多介绍,
附上链接

其他图像处理部分在代码中均有注释,可自行参考,附上代码:

img = imread('circle.jpg'); %读取图像
img = rgb2gray(img); %转换为灰度图
img = filter2(fspecial('average',5),img)/255; %进行3*3模板平滑滤波
img = imresize(img,1.3); %比例放大1.3倍
img = imbinarize(img,0.89); %转换为二值图像
img=imopen(img,strel('disk',6)); % 对图像开运算
img=imclose(img,strel('disk',7)); % 对图像闭运算se=strel('disk',11);  % 形态结构元素
img=imdilate(img,se);  % 灰度图像膨胀
figure
imshow(img);
b=img;
[centers,radii] = imfindcircles(b,[16 90],'ObjectPolarity','bright','Sensitivity',0.90,'EdgeThreshold',0.82); %在图片中寻找圆形
viscircles(centers,radii,'Color','r'); %绘制圆形
a=length(radii); %显示圆形个数
disp('圆形区域的个数是');
disp(a); %输出结果

运行的结果就是下图这个鬼样子:

可以看到,图片中圆形白色区域都被红实线标记,最后输出结果:

算是大概完成了要求,但不具有普适性,函数参数不适用于其他图片,仅提供一个思路,还望各位大佬指正。

Matlab实现对图片中的圆形区域标记并计数相关推荐

  1. python截取图片中的圆形区域

    python截取图片中的圆形区域 # coding=utf-8import pathlib import timeimport cv2 import numpy as npdef detect_cir ...

  2. matlab手动抠取圆形区域_图像中提取圆形子区域matlab code

    图像中提取圆形区域子图像 在图像中提取矩形区域非常容易,应用冒号表达式即可: 例如: IMG_Out=IMG_In(300:400,400:700); 就可以轻松提取到图像中100*300大小矩形区域 ...

  3. matlab坐标用星星表示什么,用Matlab实现简易图片中的星星计数及位置标记--陈宗华...

    用Matlab实现简易图片中的星星计数及位置标记 By C.Z.H --814484233@http://www.doczj.com/doc/0ad22625195f312b3069a5c7.html ...

  4. 识别图片中的圆形并求所有圆形的平均半径

    识别图片中的圆形并求所有圆形的平均半径 github主页:https://github.com/Taot-chen 思路:  1)对图片进行预处理:  2)利用opencv,借助霍夫梯度法识别图像中的 ...

  5. 高德地图(包含实时定位,线路导航,区域标记等)

    转载请附带原版地址: https://blog.csdn.net/qq_39936103/article/details/107901255 谢谢! 首先引入高德地图的js,css(需连接外网) &l ...

  6. Matlab图像剪切,超出图像区域指定颜色填充

    Matlab图像剪切,超出图像区域指定颜色填充 [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/77507969 Matla ...

  7. 圆形区域函数可视化和泊松方程求解

    针对泊松方程,我们设定圆形区域求解 − Δ u = f , x ∈ Ω = B ( 0 , 1 ) -\Delta u=f,x \in \Omega=B(0,1) −Δu=

  8. 通过OpenCv的HoughCircles函数获取图片中的圆形

    话不多说,代码如下: int main(){Mat srcImage,grayImage;/*加载图片*/srcImage = imread(path);/*判断加载是否成功*/if(srcImage ...

  9. android百度地图画圆,使用百度地图Api,在地图上画圆形区域

    body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;} #l-map{height:100%;width:78 ...

最新文章

  1. hashmap hashtable 的区别
  2. [SLAM] a bite of SLAM
  3. 3d饼图 vue_这是我见过最优雅的Vue图片轮播插件——Vue-Awesome-Swiper
  4. 2018.06.28 与或(线段树)
  5. 关于Linux的基础中的基础和一些基础小命令
  6. 惯性制导精度是多少_我国东风41精度凭啥第一?激光陀螺仪不算啥,太空水漂才真厉害...
  7. steam成就解锁器_MC技术指南如何使用SAM成就解锁?
  8. USBCopyer(听说此款软件可以悄悄偷走你U盘的小电影)
  9. 人脸识别最新进展——几篇相关论文总结
  10. mysql 表死锁_为什么说 MySQL 的表锁不会产生死锁
  11. Redisbook学习笔记(3)数据类型之字符串
  12. linux进入vi编辑报错,Linux Vi编辑器的使用及C编程
  13. redis事务冲突问题 - 乐观锁和悲观锁
  14. android+4.0访问网络,Android 中从4.0以后无法在主线程访问网络的解决办法。
  15. 深入浅出通信原理pdf_「PLC」精品资料包,西门子+三菱+AB+台达,50本高清PDF
  16. ansys workbench 静力结构分析 高阶教程
  17. 手动解析App dSYM示例
  18. 助力社区防疫,百数提供了一款管理系统模板
  19. Soap+xml实现webservice 调用
  20. oracle 11g查隐含参数,oracle隐含参数修改与查看

热门文章

  1. SQL*Plus 模拟 EBS环境
  2. Miniconda, ImportError: DLL load failed while importing win32api
  3. 传感器和变送器的区别
  4. LADCF-HC在OTB平台上跑OPE、TRE、SRE
  5. mysql在原有的字段添加字符串(用逗号分隔)
  6. ConViT:使用软卷积归纳偏置改进视觉变换器
  7. 喜讯|宏时数据获得CMMI3级认证!欢迎了解自研统一运维监控平台!
  8. 什么是指用计算机,cat是指计算机的什么
  9. mini6410移植全攻略(4)--uboot移植之支持nand flansh启动(中)
  10. ubuntu下无线网络网速缓慢问题解决