对于简单的场景管用,复杂的场景效果不明显。

方法一:基于LoG算子的圆斑检测。

这是常用的斑点检测方法,可参考http://doc.okbase.net/ronny/archive/102540.html。

此方法的问题是,图像中不是圆形的斑点也会检测出来,还需要进一步的判断,这使得算法的效率不高。

/* SimpleBlobDetector::Params params; //阈值控制

params.minThreshold = 10; params.maxThreshold = 200; //像素面积大小控制

params.filterByArea = true; params.minArea = 1000; //形状(凸)

params.filterByCircularity = false; params.minCircularity = 0.7; //形状(凹)

params.filterByConvexity = true; params.minConvexity = 0.9; //形状(园)

params.filterByInertia = false; params.minInertiaRatio = 0.5; */

LoG检测

利用高斯拉普拉斯LOG算子检测图像斑点较DoH,Harris和其它点检测方法稳定性更好,抗图像中噪声的能力更强

#!/usr/bin/env python
# -*- coding: utf-8 -*-# Standard imports
import osimport cv2
import numpy as nppath=r"Images/"files=os.listdir(path)
for file in files:# Read imageim = cv2.imread(path+file)im_o = cv2.resize(im, (800,600))im_gauss = cv2.cvtColor(im_o, cv2.COLOR_RGB2GRAY)im_gauss = cv2.GaussianBlur(im_gauss, (3, 3), 0)ret, im = cv2.threshold(im_gauss, 30, 255, 0)cv2.imshow("o", im)# Setup SimpleBlobDetector parameters.params = cv2.SimpleBlobDetector_Params()# Change thresholdsparams.minThreshold = 10params.maxThreshold = 200# Filter by Area.params.filterByArea = Trueparams.minArea = 16# Filter by Circularityparams.filterByCircularity = Trueparams.minCircularity = 0.3# Filter by Convexityparams.filterByConvexity = Trueparams.minConvexity = 0.57# Filter by Inertiaparams.filterByInertia = Trueparams.minInertiaRatio = 0.01# Create a detector with the parametersver = (cv2.__version__).split('.')if int(ver[0]) < 3:detector = cv2.SimpleBlobDetector(params)else:detector = cv2.SimpleBlobDetector_create(params)# Detect blobs.keypoints = detector.detect(im)# Draw detected blobs as red circles.# cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS ensures# the size of the circle corresponds to the size of blobim_with_keypoints = cv2.drawKeypoints(im_o, keypoints, np.array([]), (0, 0, 255),cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)# Show blobscv2.imshow("Keypoints", im_with_keypoints)cv2.waitKey(0)

python斑点检测相关推荐

  1. Python 斑点检测 SimpleBlobDetector

    OpenCV 常用函数 斑点检测 SimpleBlobDetector_create 定义 斑点是指二维图像中和周围颜色有颜色差异和灰度差异的区域,因为斑点代表的是一个区域,所以其相对于单纯的角点,具 ...

  2. Python 图像处理—使用 Scikit-Image 进行斑点检测

    欢迎关注 "小白玩转Python",发现更多 "有趣" 引言 图像处理时,我们需要的最重要的技能之一就是能够识别图像中的特定部分.一张图片只有在特定的感兴趣点能 ...

  3. opencv图像特征检测之斑点检测

    2019独角兽企业重金招聘Python工程师标准>>> 前面说过,图像特征点检测包括角点和斑点,今天来说说斑点,斑点是指二维图像中和周围颜色有颜色差异和灰度差异的区域,因为斑点代表的 ...

  4. python代码检测链表中的环并删除环

    python代码检测链表中的环并删除环 在计算机科学中,链表是数据元素的线性集合,其顺序不是由它们在内存中的物理位置决定的.相反,每个元素指向下一个元素.它是一种数据结构,由一组节点组成,这些节点共同 ...

  5. python 人脸检测

    python 人脸检测 pip install opencv-python # 导入cv模块 import cv2 def face_detector():# 人脸识别cap = cv2.VideoC ...

  6. python opencv 检测特定颜色

    python opencv 检测特定颜色 import cv2 import numpy as npcap = cv2.VideoCapture(0)# set blue thresh 设置HSV中蓝 ...

  7. 用 Opencv 和 Python 模糊检测

    用 Opencv 和 Python 模糊检测 在刚刚过去的这个周末,我坐下来想在 iphoto 中整理这些海量的照片.这不仅仅意味着巨大的工作量,因为我很快注意到一个现象--其中充斥着大量模糊的照片. ...

  8. python udp_如何用python方法检测UDP端口

    如何用python方法检测UDP端口,首先要了解什么是UDP端口及作用.网上搜索了一圈后,我得到的个人理解是:UDP端口是含有网络服务必须的源端口和目的端口信息,用以建立和实现网络传输服务. 那么如何 ...

  9. python语言可以在哪系统操作-python能检测到它运行的是哪个操作系统?

    python可以检测操作系统,然后为文件系统构造一个if / else语句. 我需要用FileSys字符串替换Fn字符串中的C: CobaltRCX .import os.path, csv from ...

最新文章

  1. SLF4j、log4j管理系统日志(Maven)
  2. 如何将 Azure 上的 Ubuntu 19.10 服务器升级到 20.04
  3. java selenium 日志_java - 支持selenium日志_java_酷徒编程知识库
  4. TS DataType
  5. clientdataset1.filter like怎么用_除了like, 英语还能这样说“喜欢”!
  6. hive使用适用场景_数据分析之hive学习(四):面试题——场景输出(row_number)...
  7. 无线路灯项目——SIM900A调试
  8. GTK构件 tree_view
  9. 苹果电脑:快捷键使用
  10. 【OpenCV】边缘检测:Sobel、拉普拉斯算子
  11. 使用Requests库+re库爬取猫眼电影评分
  12. C语言free如何知道要free多大的空间
  13. 手动删除oem 13c
  14. iOS和tvOS游戏按需加载资源简介
  15. 新浪微博开发之授权用户登录的实现
  16. Autodesk系列软件的安装通病
  17. 雷军称小米不会进军电动汽车及房地产等新领域
  18. 从火星传图有多难-业余眼光看深空通信
  19. 高速旋转压片机行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  20. SpringCloud链路追踪SkyWalking-第一章-介绍

热门文章

  1. C++ 程序不一定从 main 处开始执行
  2. Android--SensorEventListener和AudioManager实现根据条件转换手机震动和响铃
  3. Linux内核的Oops
  4. pg多行合并为逗号分隔一行_postgresql 将逗号分隔的字符串转为多行的实例_PostgreSQL_数据库...
  5. Linux进程虚拟地址空间
  6. 天津海尔扫地机器人维修点_女神好帮手!海尔扫地机器人 让生活化繁为简
  7. python当型循环_对python while循环和双重循环的实例详解
  8. qpython3l手机版安装第三方库总是报错_python编码问题在此终结
  9. halcon python 联合开发_使用pythonnet调用halcon脚本
  10. python时间序列函数_python时间日期函数与利用pandas进行时间序列处理详解