Canny Edge 检测器阈值给出不同的结果

2023-12-11

我正在尝试找到图像的轮廓,在此之前我正在应用 Canny 的边缘检测器。 它为不同的图像提供不同的结果。对于一张图像,它在阈值 - min-40 max-240 处提供完美的轮廓,而对于其他图像,其阈值为 30-120。 我想让它变得通用。


通俗地说,边缘检测需要一个阈值来告诉什么差异/变化应该算作边缘。欲了解详细信息,请阅读here.

因此,边缘取决于图像的内容,即亮度/暗度/对比度的水平。 我建议你简单地找到整个灰度图像的平均值并采用如下阈值:

最小阈值 = 0.66 * 平均值

最大阈值 = 1.33 * 平均值

我已经测试过它,它给出了令人印象深刻的结果。您可以使用中位数代替平均值,结果几乎相同。另一种选择是首先均衡图像,然后尝试您选择/实验的阈值。

但再次强烈建议尝试平均方法。如有任何疑问,请写在这里。

快乐编码:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Canny Edge 检测器阈值给出不同的结果 的相关文章

  • OpenCV:处理每一帧

    我想使用 OpenCV 编写一个跨平台应用程序进行视频捕获 在所有示例中 我发现来自相机的帧是使用抓取功能进行处理并等待一段时间 我想处理序列中的每一帧 我想定义自己的回调函数 每次当一个新帧准备好处理时都会执行该函数 例如直播对于 Win
  • 如何使用 Python 3 在 OpenCV 3 上正确加载 cv2.KeyPoint 和描述符?

    有一天 我不得不恢复一个使用 OpenCV 3 和 Python 2 7 的旧项目 在此代码中 要加载 cv2 KeyPoint 我执行以下操作 import numpy as np import cPickle import cv2 ke
  • 如何使用 python cv2 api 将 xy 点格式化为 unactorPoints?

    我在格式化要传递给 unactorPoints 的 x y 点列表时遇到问题 opencv 2 4 1 该错误消息是 C 特定的 并抱怨点数组不是 CV 32FC2 类型 我不应该能够传入 Nx2 numpy 数组吗 import cv2
  • caffe安装:opencv libpng16.so.16链接问题

    我正在尝试在 Ubuntu 14 04 机器上使用 python 接口编译 caffe 我已经安装了 Anaconda 和 opencvconda install opencv 我还安装了咖啡中规定的所有要求 并更改了注释块makefile
  • OpenCV Python 删除图像中的某些对象

    我正在使用带有 opencv 和 numpy 的 python 来检测天文中的星星 例如这个1 https i stack imgur com AKwEJ jpg图片 使用模板匹配 我可以用阈值检测星星 单击 2 2 https i sta
  • 从索贝尔确定图像梯度方向?

    我正在尝试使用 openCV 的 Sobel 方法的结果来确定图像梯度方向 我知道这应该是一个非常简单的任务 我从此处复制了许多资源和答案中的方法 但无论我做什么 所得方向始终在 0 57 度之间 我希望范围为 0 360 我相信所有的深度
  • 从视频/图像中提取元数据

    我从 IP 摄像机获取 MJPEG 流 我正在查看该流并将其保存在计算机上 可以找到我的操作代码here https stackoverflow com questions 21702477 how to parse mjpeg http
  • 有没有办法检测图像是否模糊? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想知道是否有一种方法可以通过分析图像数据来确定图像是否模糊 估计图像清晰度的另一种非常简单的方法是使用拉普拉斯 或 LoG 滤波器并
  • 如何在 opencv 3.0 Beta 中从文件读取 UMat?

    我想用UMat所以我的代码可以使用 OpenCL OpenCV 3 0 0 Beta 在 GPU 和 CPU 上运行 但我找不到将图像文件读入的方法UMat或转换一个Mat to UMat 如何将图像读入UMat 样品用于Mat to UM
  • 警告:发生了非法反射访问操作(java 中的便携式 opencv)

    我想做一个便携的opencv将依赖项添加到 maven 文件的应用程序pom xml 简化的代码是 import org opencv core Mat public class Builder public static void mai
  • OpenCV Python RTSP 流

    我想使用 RTSP 从 IP 摄像机流式传输视频 但我有一个问题 我已经安装了先决条件 而且我的 RTSP 链接可以在 VlC 播放器上运行 但是当我在编辑器中尝试并运行它时 它说找不到相机 这是我的代码 import cv2 import
  • VideoCapture 未检测到 uEye 摄像头

    我的 uEye 相机遇到了一个问题 使用我的笔记本电脑摄像头 id 0 或 USB 上的网络摄像头 id 1 此行完美运行 TheVideoCapturer open 1 TheVideoCapturer 属于 VideoCapture 类
  • Android for OpenCV - 打开跟踪文件时出错,UnsatisfiedLinkError

    我对 Android 开发和 OpenCV 都是新手 我从 Android 下载了 OpenCV 库http sourceforge net projects opencvlibrary files opencv android http
  • 如何将 OpenCV 的测试框架与 CMake 结合使用?

    好像 OpenCV 有一个测试框架 https github com Itseez opencv tree ef91d7e8830c36785f0b6fdbf2045da48413dd76 modules ts include opencv
  • Opencv 运动检测与跟踪

    我需要在网络摄像头的视频帧中进行强大的运动检测和跟踪 背景总是一样的 目的是识别物体的位置 如果可能的话没有阴影 但并不急于去除阴影 我已经尝试过用于背景减法和阈值化的opencv算法 但这仅取决于一个图像作为背景 如果背景的亮度 或相机自
  • 将yuv420p原始数据转换为opencv图像

    我有来自 rtmp 服务器的原始数据 像素格式为 yuv420p 我使用管道来读取数据 但我不知道如何将原始数据解码为图像 command ffmpeg command extend loglevel fatal i rtmp localh
  • python openCV 中的人口普查变换

    我开始在一个与立体视觉相关的项目中使用 openCV 和 python 我找到了关于使用 openCV 在 C 中进行人口普查转换的文档页面 link http docs opencv org 3 1 0 d2 d7f namespacec
  • 如何识别与我的对象相关的轮廓并找到它们的几何质心

    问题陈述和背景信息 EDIT 约束 法兰上的红色会随着时间的推移而变化 所以我此时不会尝试使用颜色识别来识别我的对象 除非它足够强大 此外 外部照明也可能是一个因素 因为将来这将是在室外区域 我有 RGB 深度相机 有了它 我就能捕捉到这个
  • OpenCV Python cv2.mixChannels()

    我试图将其从 C 转换为 Python 但它给出了不同的色调结果 In C Transform it to HSV cvtColor src hsv CV BGR2HSV Use only the Hue value hue create
  • 计数物体和更好的填充孔的方法

    我是 OpenCV 新手 正在尝试计算物体的数量在图像中 我在使用 MATLAB 图像处理工具箱之前已经完成了此操作 并在 OpenCV Android 中也采用了相同的方法 第一步是将图像转换为灰度 然后对其进行阈值计算 然后计算斑点的数

随机推荐

  • Android 无法通过 AlarmManager 传递意图附加信息

    我试图在我的意图中添加一条额外的消息 以传递给 AlarmManager 以供稍后触发 我的 onReceive 正确触发 但 extras getString 返回 null Setup public PendingIntent getP
  • watir-webdriver - 单击 Javascript 按钮

    第一周进行 watir webdriver 和 Web 应用程序测试 因此仍在尝试概括一些概念 有这个 javascript 元素
  • 如何在打开新网页后继续VBA代码

    我是创建 VBA 代码的新手 并且正在慢慢对其有基本的了解 但是如果没有帮助 我无法通过项目的这一点 我有下面的代码并且运行良好 直到我需要在打开的新页面上继续该代码 我不知道如何继续代码 计划是能够单击赔率比较选项卡并从该页面提取数据 任
  • Outlook 类似于侧边栏并在 Outlook 中显示

    我正在使用VS2008 想尝试应用程序的Outlook样式显示 请指导我如何拥有像侧边栏和类似显示的外观 是否可以使用现有的控件 另请注明这些是否是 WPF 控件 thanks 以下是 CodeProject 中的几个示例 http www
  • 正则表达式 (Javascript) - 取一个打乱的单词并找到一个未打乱的匹配项

    我有一个英语词典中所有单词的列表 270 000 多个单词 存储在一个名为的变量中theList 我有一个乱码word我想通过与单词列表匹配来解读 最初 我认为下面的代码可以解决问题 但效果不太好 var theList Contains
  • 是否可以在java中动态“添加”到类路径?

    java classpath classes jar parserTester 如何以编程方式获取上述命令中的功能 就像 是否可以运行为 java parserTester 并得到相同的结果 我尝试使用 URLClassLoader 但它修
  • Python/Pycharm,Ctrl-空格键不会显示代码完成

    我有以下文件 为什么当我按时代码补全不运行Ctrl Space在 r 之后 红色框中写着 没有建议 程序运行并输出 200 author hape import urllib request import urllib response p
  • “git push”删除未跟踪的远程文件

    我正在运行一个网络服务器 允许用户将图像上传到服务器 但是 我正在使用git管理我的源代码 以及git push操作会删除服务器上与我的本地结账不匹配的任何内容 所以我每次运行时都会丢失图像git push 起初我以为我可以protect上
  • 使用 Kinect 和 EMGU(OpenCV 包装器)进行机器人定位

    我正在开发小型 WPF 桌面应用程序来跟踪机器人 我的办公桌上有一个 Windows 版 Kinect 我能够执行基本功能并运行深度摄像头流和 RGB 摄像头流 我需要的是跟踪地板上的机器人 但我不知道从哪里开始 我发现我应该使用 EMGU
  • PyCharm 和 PYTHONPATH

    我有一个用于我的目录PYTHONPATH c test my scripts 在这个目录中 我导入了一些模块 它在我的 Python shell 中运行良好 如何将此目录路径添加到 PyCharm 以便我可以导入该目录中的内容 过时了 有关
  • float.Parse 中的浮动精度丢失

    float s float Parse 10499 9705314636 Now s有价值10499 97 有没有办法保存所有的精 度数字 您可能想查看浮点数 双精度数和小数之间的区别 特别注意 a 之间的区别binary浮点类型 和一个d
  • Facebook 爬虫目前是否在解析 DOM 之前解释 javascript?

    以下链接似乎表明它不能 Facebook Sharer 在共享我的 URL 时如何选择图像和其他元数据 但我想知道目前情况是否仍然如此 facebook 开发网站上的文档没有给出关于这一点的任何精确信息 在我运行的测试中 我从未见过它解释
  • 集合组查询是否从所有同名集合中获取数据?

    我有这个 Firebase Cloud Firestore 架构 my db gt users gt uid gt places gt placeId and my db gt places gt placeId 此集合组查询是否会在两条路
  • Python Sockets - 如何关闭服务器?

    我尝试用Python中的socket模块制作一个简单的聊天系统 一切正常 除了每次我想关闭服务器时都需要终止该进程 我不想每次都这样做 所以我的问题是 我怎样才能创建一个函数 当我输入时shutdown在服务器终端中 它会关闭整个服务器 我
  • Python - 填写并提交 HTML 表单

    我想使用 python 在网页上填写并提交表单 我想要与之交互的表单有几个使用 JavaScript 填充的下拉框 我看过机械化库 但它不处理 JavaScript 您能建议一个与表单交互的替代库 方法吗 Cheers Pete Selen
  • sendBroadscast VS startActivity。有什么不同?

    sendBroadcast 意图 和startActivity 意图 之间有什么区别 为什么这不起作用 Intent smsIntent new Intent Intent ACTION SENDTO smsIntent setData U
  • TCP 客户端-服务器 SIGPIPE

    我正在设计和测试一个基于TCP套接字 互联网域 的客户端服务器程序 目前 我正在本地计算机上对其进行测试 无法理解有关 SIGPIPE 的以下内容 SIGPIPE 的出现相当随机 它可以是确定性的吗 第一个测试涉及来自客户端的单个小 25
  • php - 从一种 json 格式转换为另一种格式

    我正在使用 php 从 mysql 数据库获取数据 并对获取的输出进行 json 编码 json encode data 结果数据的形式为 name aaa name bbb 我想将其放入一个更大的 json 对象中 并在网络浏览器中以以下
  • Rails EXECJS 运行时错误

    您好 我在 Demo index 中收到 ExecJS RuntimeError 下面是突出显示的第 6 行 下面是我的完整跟踪 有人可以回答 指出我调试此问题的正确方向以及调试轨道的良好参考 我是 Rails 新手 我的猜测是我错过了一个
  • Canny Edge 检测器阈值给出不同的结果

    我正在尝试找到图像的轮廓 在此之前我正在应用 Canny 的边缘检测器 它为不同的图像提供不同的结果 对于一张图像 它在阈值 min 40 max 240 处提供完美的轮廓 而对于其他图像 其阈值为 30 120 我想让它变得通用 通俗地说