如何在Python OpenCV中获取轮廓的x,y位置

2023-12-01

我试图从下图中获取轮廓的 x 和 y 位置,但我搞砸了。图片

我只需要找到轮廓的 x 和 y 位置或轮廓的中心。

当我从 GIMP 手动查找它们的位置时,结果将类似于以下内容。

290, 210 982, 190 570, 478

我相信可以用 cv2.findContours 方法来完成,但我现在真的没有想法。

-无关-

我将使用这些值使用 win32api.SetCursorPos((xposition,yposition)) 设置光标位置

Thanks


你可以参考这里

使用 OpenCV 查找轮廓坐标 | Python

# Python code to find the co-ordinates of 
# the contours detected in an image. 
import numpy as np 
import cv2 

# Reading image 
font = cv2.FONT_HERSHEY_COMPLEX 
img2 = cv2.imread('test.jpg', cv2.IMREAD_COLOR) 

# Reading same image in another 
# variable and converting to gray scale. 
img = cv2.imread('test.jpg', cv2.IMREAD_GRAYSCALE) 

# Converting image to a binary image 
# ( black and white only image). 
_, threshold = cv2.threshold(img, 110, 255, cv2.THRESH_BINARY) 

# Detecting contours in image. 
contours, _= cv2.findContours(threshold, cv2.RETR_TREE, 
                            cv2.CHAIN_APPROX_SIMPLE) 

# Going through every contours found in the image. 
for cnt in contours : 

    approx = cv2.approxPolyDP(cnt, 0.009 * cv2.arcLength(cnt, True), True) 

    # draws boundary of contours. 
    cv2.drawContours(img2, [approx], 0, (0, 0, 255), 5) 

    # Used to flatted the array containing 
    # the co-ordinates of the vertices. 
    n = approx.ravel() 
    i = 0

    for j in n : 
        if(i % 2 == 0): 
            x = n[i] 
            y = n[i + 1] 

            # String containing the co-ordinates. 
            string = str(x) + " " + str(y) 

            if(i == 0): 
                # text on topmost co-ordinate. 
                cv2.putText(img2, "Arrow tip", (x, y), 
                                font, 0.5, (255, 0, 0)) 
            else: 
                # text on remaining co-ordinates. 
                cv2.putText(img2, string, (x, y), 
                        font, 0.5, (0, 255, 0)) 
        i = i + 1

# Showing the final image. 
cv2.imshow('image2', img2) 

# Exiting the window if 'q' is pressed on the keyboard. 
if cv2.waitKey(0) & 0xFF == ord('q'): 
    cv2.destroyAllWindows()

Input image

Output image

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

如何在Python OpenCV中获取轮廓的x,y位置 的相关文章

  • SQLAlchemy 通过关联对象声明式多对多自连接

    我有一个用户表和一个朋友表 它将用户映射到其他用户 因为每个用户可以有很多朋友 这个关系显然是对称的 如果用户A是用户B的朋友 那么用户B也是用户A的朋友 我只存储这个关系一次 除了两个用户 ID 之外 Friends 表还有其他字段 因此
  • OpenCV Python cv2.mixChannels()

    我试图将其从 C 转换为 Python 但它给出了不同的色调结果 In C Transform it to HSV cvtColor src hsv CV BGR2HSV Use only the Hue value hue create
  • 为 Anaconda Python 安装 psycopg2

    我有 Anaconda Python 3 4 但是每当我运行旧代码时 我都会通过输入 source activate python2 切换到 Anaconda Python 2 7 我的问题是我为 Anaconda Python 3 4 安
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • 计数物体和更好的填充孔的方法

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

    作为输入 我有几个包含不同格式日期的字符串 例如 彼得在16 45 我的生日是1990年7月8日 On 7 月 11 日星期六我会回家 I use dateutil parser parse识别字符串中的日期 在下一步中 我想从字符串中删除
  • 使用 on_bad_lines 将 pandas.read_csv 中的无效行写入文件

    我有一个 CSV 文件 我正在使用 Python 来解析该文件 我发现文件中的某些行具有不同的列数 001 Snow Jon 19801201 002 Crom Jake 19920103 003 Wise Frank 19880303 l
  • python 相当于 R 中的 get() (= 使用字符串检索符号的值)

    在 R 中 get s 函数检索名称存储在字符变量 向量 中的符号的值s e g X lt 10 r lt XVI s lt substr r 1 1 X get s 10 取罗马数字的第一个符号r并将其转换为其等效整数 尽管花了一些时间翻
  • Python 函数可以从作用域之外赋予新属性吗?

    我不知道你可以这样做 def tom print tom s locals locals def dick z print z name z name z guest Harry print z guest z guest print di
  • Flask如何获取请求的HTTP_ORIGIN

    我想用我自己设置的 Access Control Allow Origin 标头做出响应 而弄清楚请求中的 HTTP ORIGIN 参数在哪里似乎很混乱 我在用着烧瓶 0 10 1 以及HTTP ORIGIN似乎是这个的特点之一object
  • Python 的“zip”内置函数的 Ruby 等价物是什么?

    Ruby 是否有与 Python 内置函数等效的东西zip功能 如果不是 做同样事情的简洁方法是什么 一些背景信息 当我试图找到一种干净的方法来进行涉及两个数组的检查时 出现了这个问题 如果我有zip 我可以写这样的东西 zip a b a
  • 如何在Python中对类别进行加权随机抽样

    给定一个元组列表 其中每个元组都包含一个概率和一个项目 我想根据其概率对项目进行采样 例如 给出列表 3 a 4 b 3 c 我想在 40 的时间内对 b 进行采样 在 python 中执行此操作的规范方法是什么 我查看了 random 模
  • 如何在seaborn displot中使用hist_kws

    我想在同一图中用不同的颜色绘制直方图和 kde 线 我想为直方图设置绿色 为 kde 线设置蓝色 我设法弄清楚使用 line kws 来更改 kde 线条颜色 但 hist kws 不适用于显示 我尝试过使用 histplot 但我无法为
  • 解释 Python 中的数字范围

    在 Pylons Web 应用程序中 我需要获取一个字符串 例如 关于如何做到这一点有什么建议吗 我是 Python 新手 我还没有找到任何可以帮助解决此类问题的东西 该列表将是 1 2 3 45 46 48 49 50 51 77 使用
  • 有人用过 Dabo 做过中型项目吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们正处于一个新的 ERP 风格的客户端 服务器应用程序的开始阶段 该应用程序是作为 Python 富客户端开发的 我们目前正在评估 Dabo
  • 如何计算 pandas 数据帧上的连续有序值

    我试图从给定的数据帧中获取连续 0 值的最大计数 其中包含来自 pandas 数据帧的 id date value 列 如下所示 id date value 354 2019 03 01 0 354 2019 03 02 0 354 201
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc
  • 在 Qt 中自动调整标签文本大小 - 奇怪的行为

    在 Qt 中 我有一个复合小部件 它由排列在 QBoxLayouts 内的多个 QLabels 组成 当小部件调整大小时 我希望标签文本缩放以填充标签区域 并且我已经在 resizeEvent 中实现了文本大小的调整 这可行 但似乎发生了某
  • 导入错误:没有名为 site 的模块 - mac

    我已经有这个问题几个月了 每次我想获取一个新的 python 包并使用它时 我都会在终端中收到此错误 ImportError No module named site 我不知道为什么会出现这个错误 实际上 我无法使用任何新软件包 因为每次我

随机推荐

  • MySQL触发器-移动内部顺序列

    我有下表 页数 pgid pgname pgorder 1 Page 1 1 2 Page 2 2 3 Page 3 3 4 Page 4 4 列 pgorder 表示特定页面的位置 我需要触发器 该触发器会在删除一页记录后自动移动 减少
  • 哪个 jar 最终出现在 Maven 增量构建中的类路径上?

    简单的 Maven 说明 我希望经验丰富的 Maven 开发人员能够轻松回答这个问题 我有两个名为 mycompany x 和 mycompany y 的项目 mycompany x 被列为 mycompany y 的依赖项 每个版本都有
  • React 6.4.0 所有路由器的通用标头

    我正在开始反应项目react router dom版本 6 4 0 但无法为所有路由创建公共标头 App js 这是我要添加的文件RouterProvider import logo from logo svg import App css
  • 使用PHP批量插入

    Java有PreparedStatement addBatch executeBatch来有效地进行多次插入 使用 php 的 mysqli 扩展进行批量插入的快速方法是什么 Thanks MySQL 本身支持一次查询多次插入 INSERT
  • 如何在 UIWebView 中静音播放 YouTube 视频?

    我正在使用 UIWebView 在 iPhone 版 iOS 9 上播放嵌入式 YouTube 视频 然而 由于一个已知问题 音量控制不起作用 即调用player mute 或player setVolume 0 根本不起作用 https
  • 有没有一种方法可以通过一个命令获取 git 根目录?

    Mercurial 有一种打印根目录 包含 hg 的方法 hg root git 中是否有等效的东西来获取包含 git 目录的目录 Yes git rev parse show toplevel 如果您想更直接地复制 Mercurial 命
  • MKOverlay 视图模糊

    我正在尝试使用 MKOverlayView 添加 png 图像作为自定义地图 我几乎就在那里 我能够将图像排列在正确的位置 并且我知道 MKOverlayView 子类中的 drawMapRect 方法正在被定期调用 我似乎无法正确渲染图像
  • cmd:将 wmic 输出保存到变量

    我正在尝试将文件的时间戳放入批处理文件中的变量中 我的批处理文件 imagetime bat 包含以下内容 set targetfile 1 set targetfile targetfile echo targetfile for f u
  • Windows Phone 8 LongListSelector 内的图像内存泄漏

    我有一个 LongListSelector 其中包含一个图像控件 该控件从网络加载大量图像 这在一段时间内工作正常 但在加载一些图像后 我出现内存不足异常 我读到其他人也有同样的问题 涉及大量图像内存不足 但仍然没有找到解决方案 我读到它与
  • Firebase 部署错误:构建失败:npm ERR!代码EUSAGE

    我目前正在使用 Firebase 托管 但突然遇到部署错误 我尝试了所有可能的解决方案 但部署错误多次出现 所以现在需要社区的帮助 请帮我解决这个问题 从这条线上部署过程失败 i functions updating Node js 16
  • 主源文件中的结构值未更新

    我的项目的一部分 一些源文件是button key h button key h lcd h mani c etc 在按钮 key H 中使用了一个结构并声明为 struct menu uint8 t Hour uint8 t Minute
  • 拦截列表总体以在反序列化中分配值

    我有一个递归类 树层次结构 它派生自一个列表 该列表具有子级及其自身 通过 JSON NET 中的反序列化填充 TLDR 版本是 我想在该类存在的每个级别上从父级填充子级中的变量 而不使用 JSON NET 中的 ref 变量 存储到 co
  • 如何从R中UNC指定的目录中读取文件?

    是否可以从 UNC 指定的目录中读取文件R 我想在不使用基本安装之外的任何软件包的情况下完成此操作 UNC 名称工作正常 您只需正确转义它们即可 这对我有用 read csv COMPUTER Directory file txt
  • 我如何在 QMake 中包含 python.h

    INCLUDEPATH L usr include python2 7 LIBS usr local lib python2 7 QMAKE CXXFLAGS usr local lib python2 7 error cannot fin
  • C++程序与MySQL数据库通信

    有谁知道 C 程序直接与 MySQL 数据库通信的简单方法吗 我查看了 MySQL 发现它非常令人困惑 如果有人知道一个非常简单的方法 请告诉我 Thanks 附 我正在 Windows 机器上进行开发 PHP 和 MySQL Web 应用
  • LINQ Intersect 不返回项目

    我已经为我的自定义类实现了一个比较类 以便我可以使用Intersect在两个列表中 StudentList1 and StudentList2 但是 当我运行以下代码时 我没有得到任何结果 Student class CompareStud
  • awk 要求合并两个文件

    我通过 AWK 命令使用 Same Key 组合了两个不同的文件 如果与 File1 和 File2 相比没有关键匹配 则只需 把 t t t 代替 我有以下 AWK 命令 awk F t key 1 NR 1 header key key
  • 为什么不能将 Dictionary> 转换为 Dictionary>?

    我想知道为什么我不能直接进行强制转换 我有一个模糊的想法 这可能与协 逆变的东西有关 我是否被迫按顺序将第一个字典的元素复制到新的字典中得到我想要的类型 你不能这样做 因为它们不是同一类型 考虑 var x new Dictionary
  • 不使用模式名称访问表

    我是 DB2 新手 如果不使用架构名称 我无法从表中获取数据 如果我使用带有表名的模式名称 我就可以获取数据 Example SELECT FROM TABLE NAME 它给了我错误 同时 SELECT FROM SCHEMA NAME
  • 如何在Python OpenCV中获取轮廓的x,y位置

    我试图从下图中获取轮廓的 x 和 y 位置 但我搞砸了 图片 我只需要找到轮廓的 x 和 y 位置或轮廓的中心 当我从 GIMP 手动查找它们的位置时 结果将类似于以下内容 290 210 982 190 570 478 我相信可以用 cv