OpenCV获取圆上的像素

2024-01-13

我是 OpenCV 的新手,我正在尝试从图像中获取圆形的像素。

例如,我在随机图像上画一个圆圈:

import cv2

raw_img = cv2.imread('sample_picture.png')
x = 50
y = 50
rad = 20
cv2.circle(raw_img,(x,y),rad,(0,255,0),-1)
cv2.imshow('output', raw_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出显示带有圆圈的图像。 但是,我希望能够以数组的形式获取圆上的所有像素。有什么办法可以做到这一点吗?我知道我可以从圆公式中得到近似坐标,但这会涉及大量的小数计算,而且我很确定该函数cv2.circle()已经计算了像素,那么有没有办法从函数本身中获取它而不是计算我自己?

另外,如果可能的话我想使用获取椭圆的像素cv2.椭圆()返回为坐标数组。但这一次,我只想从椭圆的一部分(从某个角度到另一个角度,我可以在 cv2.ellipse() 的参数中指定)获取像素。

谢谢。


您可以使用 numpy 函数来实现您正在寻找的内容:

numpy.where(condition[, x, y])

链接中功能的详细解释:https://docs.scipy.org/doc/numpy-1.15.1/reference/ generated/numpy.where.html https://docs.scipy.org/doc/numpy-1.15.1/reference/generated/numpy.where.html

在您的情况下,您希望它返回具有非零值的坐标。使用此方法,您可以在空数组上绘制任何内容,它将返回与非零对应的所有行和列。

它将返回满足您设置的条件的数组的索引。下面是显示用法示例的代码。

import cv2
import numpy as np

raw_img = cv2.imread('sample_picture.png')
x = 50
y = 50
rad = 20
cv2.circle(raw_img,(x,y),rad,(0,255,0),-1)

# Here is where you can obtain the coordinate you are looking for
combined = raw_img[:,:,0] + raw_img[:,:,1] + raw_img[:,:,2]
rows, cols, channel = np.where(combined > 0)    

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

OpenCV获取圆上的像素 的相关文章

  • 如何使用 eval dataframe 方法在自定义函数中返回 numpy 数组或列表?

    我正在使用 python 3 X 我正在尝试使用eval https pandas pydata org pandas docs stable generated pandas eval html pandas eval数据框方法 包括这样
  • 使用 python-3.x 从 zip 存档中读取 CSV 文件

    我有一个压缩档案 其中包含几个csv files 例如 假设myarchive zip包含myfile1 csv myfile2 csv myfile3 csv In python 2 7我能够迭代加载所有myfiles in pandas
  • 如何在 Mac 上运行 virtualenv python

    我正在尝试使用 virtualenv 在我的 mac 上创建虚拟 python 环境 我已经下载了 virtualenv 但是我无法运行它 因为即使我提供了正确的路径 它也找不到我的 python3 安装路径 这是我运行的命令和响应 vir
  • 为什么类型提示不能在 for 循环中使用?

    在 a 中注释目标for声明无效 gt gt gt for i str in test string File
  • Django 视图集没有属性“get_extra_actions”

    我第一次使用 Django 我正在尝试构建一个 API 我正在遵循一些教程和示例 它工作正常 但在安装所有要求和项目后 我现在正在 Raspberry Pi 中运行该项目失败并出现以下错误 Performing system checks
  • 组内条件计数

    我想在之后进行条件计数groupby 例如 按列的值分组A 然后计算每组中值出现的频率5出现在列中B 如果我整个过程都这样做DataFrame 只是len df df B 5 所以我希望我能做到df groupby A df B 5 siz
  • 使用Python批量重命名文件

    下面是我的代码来批量重命名给定目录中的图片 def multi filename change i 0 files askstring Select your folder Paste your directory path where y
  • 布尔 pandas 之间的操作对称性破缺。具有不等索引的系列

    隐式索引匹配pandas用于不同之间的操作DataFrame Series很棒 而且大多数时候 它都有效 但是 我偶然发现了一个无法按预期工作的示例 import pandas as pd 0 21 0 import numpy as np
  • 如何获取 sklearn.metrics.classification_report 的输出作为字典?

    我一直在尝试以字典的形式获得分类报告 所以根据 scikit learn 0 20 文档 我这样做 from sklearn import metrics rep metrics classification report y true y
  • Tweepy StreamListener 到 CSV

    我是 python 新手 我正在尝试开发一个应用程序 使用 Tweepy 和 Streaming API 从 Twitter 检索数据并将数据转换为 CSV 文件 问题是此代码不会创建输出 CSV 文件 也许是因为我应该将代码设置为在实现例
  • 有没有办法在每个特定的时间间隔运行 python Flask 函数并在本地服务器上显示输出?

    我正在使用 Flask 工作 python 程序 我想从字典中提取键 该密钥为文本格式 但我想在每个特定的时间间隔后重复上述整个过程 并每次在本地浏览器上显示此输出 我已经使用flask apscheduler尝试过这个 程序只运行一次并显
  • PyMC3-自定义 theano Op 进行数值积分

    我使用 PyMC3 进行参数估计 使用必须定义的特定似然函数 我用谷歌搜索了一下 发现我应该使用densitydist实现用户定义的似然函数的方法 但它不起作用 如何在 PyMC3 中合并用户定义的似然函数并找出最大 aposteriori
  • 从另一个线程调用线程中的方法,python

    如何实现线程之间的通信 我有一个线程在其中执行一些操作 然后我需要从位于主程序线程中的对象调用一个方法 并且该方法应该在主进程中执行 class Foo def help self pass class MyThread threading
  • mac安装Tensorflow出错

    我正在尝试使用以下说明在 mac 中安装 Tensorflow https www tensorflow org install https www tensorflow org install 但是当我想导入tensorflow时 我总是
  • 哈希 freezeset 与排序元组

    在 Python 中 给定一组可比较的 可散列的元素s 散列是否更好frozenset s or tuple sorted s 这取决于你在做什么 创建一个更快frozenset 比排序tuple but frozenset占用的内存比tu
  • 从 C++ 调用 Python 脚本并使用其输出

    我想从 C 调用 python 脚本 并希望使用该脚本生成的输出 csv 文件返回 C 我在 main 中尝试过 std string filename home abc xyz script py std string command p
  • 在 pandas 中获取组名称的有效方法

    我有一个包含大约 300 000 行的 csv 文件 我将其设置为按特定列分组 每个组大约有 140 名成员 总共 2138 个组 我正在尝试生成组名称的 numpy 数组 到目前为止 我已经使用 for 循环来生成名称 但处理所有内容都需
  • 仅使用 pathlib 规范化不存在的路径

    python 最近添加了pathlib https docs python org 3 4 library pathlib html module pathlib模块 我非常喜欢 我只有一件事正在努力解决 是否可以规范化不存在的文件或目录的
  • 如何使用 rxpy/rxjs 延迟事件发射?

    我有两个事件流 一个来自电感环路 另一个来自网络摄像机 汽车将驶过环路 然后撞上相机 如果事件彼此相差在 N 毫秒内 汽车总是会首先进入循环 我想将它们组合起来 但我也希望每个流中不匹配的事件 硬件可能会失败 全部合并到单个流中 像这样的事
  • 如何从 Python 3.5 降级到 3.4

    我想安装 kivy 链接在这里 https kivy org docs installation installation windows html install win dist 用于项目 但是 当尝试使用 pip 安装它所依赖的包时

随机推荐

  • 对于 Windows 有 Win32 API,那么对于 Mac 呢?

    对于 Windows 有 Win32 API 那么对于 Mac 呢 在维基百科上 http en wikipedia org wiki Cocoa API http en wikipedia org wiki Cocoa 28API 29
  • 在 python 中配置根记录器

    我的 Django 设置中有以下日志配置 LOGGING version 1 disable existing loggers False formatters verbose format levelname s asctime s na
  • 无法使用 flutter 中的 SAS 令牌上传到 azure 存储

    我正在尝试使用 SAS 令牌将文件 数据上传到 azure 存储 我使用以下方法成功地在没有 SAS 令牌的情况下实现了这一目标 sendToBlob Uint8List bytes async var storage AzureStora
  • 使 Rails 缓存中的特定模型无效

    我使用 Rails 3 和 Memcached 来缓存一些模型 当模型更改时 我想使该记录的缓存失效 对于视图片段 我只是说expire fragment blah 如何对我的模型执行此操作 我不想说Rails cache clear并失去
  • 计时器错误 java.lang.IllegalStateException

    我试图显示一个标签 说明 JRE 8 中的所有内容仅在 3 秒内正确 因为我无法在 JRE 7 中使用 DatePicker 并且收到此错误 Exception in thread Timer 2 java lang IllegalStat
  • ruby 中 #entries 和 #to_a 之间的区别

    之间的基本区别是什么 entries and to a的方法Enumerableruby 中的模块 两者似乎都返回相同的结果Hash gt gt hash name gt foo age gt 23 gt name gt foo age g
  • 如何更新所使用的quarkus版本

    升级现有应用程序中使用的 quarkus 版本的推荐方法是什么 我查看了我的 pom xml 因为 quarkus 扩展没有指定使用的版本 我假设它们将根据主 quarkus 版本进行更新 与更新相关的属性是 quarkus plugin
  • ExtJS 4 MVC 视图的多个实例和子/子控制器的困难

    我在 ExtJS 4 中遇到了 MVC 模式的问题 至少 我认为我遇到过 在向多个人提出这个问题并在 Sencha 论坛上多次发帖后 我现在转向更广泛的受众 希望得到灯泡或确认 Problem 您的应用程序能够打开许多不同的视图 其中一些视
  • 数据 URI 的慢速页面

    我构建了一个脚本 用数据 URI 替换所有内联图像 以减少 http 请求并增加移动设备上的加载时间 不幸的是我的加载速度较慢 我认为这取决于 html 文件是否更大 大约 100kb 而不是大约 5 kb 或者数据 URI 是否有其他因素
  • 如何找到MySQL临时表存储引擎

    您好 我正在使用临时表 我想知道临时表存储引擎 InnoDB MyISAM 我正在使用以下代码来查找 但它没有向我显示存储引擎 engine SELECT ENGINE FROM information schema TABLES WHER
  • 推入用户编写的内核

    我是 Thrust 的新手 我看到所有 Thrust 演示文稿和示例仅显示主机代码 我想知道是否可以将 device vector 传递给我自己的内核 如何 如果是 那么内核 设备代码中允许对其进行哪些操作 正如最初编写的那样 Thrust
  • 使用 Angular ng-show 显示 div

    我遇到一些问题ng show and pristine 这是代码 也在 CodePen 上 http codepen io edenlyriene pen wGvKKG blockquote p comment rating Stars p
  • ICalendar 和事件更新在 Outlook 中不起作用

    我正在生成 ICalendar ics 文件 使用 UID 和 SEQUENCE 字段 我可以更新 Google 日历和 Windows 日历中的现有事件BUT NOT在 MS Outlook 2007 中 它只是创建第二个事件 如何让它们
  • 我们可以使用jdk7 javac将具有java7特性的代码编译成java6字节码吗

    我正在考虑一个java项目是否可以生成2个jar 一个用于java7 一个用于java6 是的 源代码可能会使用一些java7的新功能 因此要生成 java6 jar 命令行将如下所示 javac target 1 6 bootclassp
  • Lollipop 的 SD 卡访问 API Android?

    在另一个问题中 如何使用Android 5 0 Lollipop 新推出的SD卡访问API https stackoverflow com questions 26744842 how to use the new sd card acce
  • js中逗号运算符是如何工作的? [复制]

    这个问题在这里已经有答案了 我试图了解逗号运算符 在 JavaScript 中的工作原理 当它不放在括号之间时 它似乎有不同的行为 有人可以解释一下为什么吗 参考示例 var a 1 var b 2 var c a b console lo
  • Keras错误:预期dense_input_1有3个维度

    我正在 Keras 中尝试一个简单的模型 我想将其作为输入 大小为 5x3 的矩阵 在下面的示例中 这是通过使用指定的input shape 5 3 添加第一个致密层时 from keras models import Sequential
  • Android NetworkOnMainThreadException [重复]

    这个问题在这里已经有答案了 我得到了一个android os NetworkOnMainThreadException当我尝试从我的 PC 主机检索 JSON 数据时 这是我的代码 public JSONObject getJSONObje
  • 如何在猫鼬中找到nscanned?

    有没有办法在猫鼬中使用explain mongoose 中 db collection find explain 的等效语句是什么 这适用于 mongodb 终端 我在文档中找不到答案 不直接 但是 您可以做的是启用 Mongoose 的调
  • OpenCV获取圆上的像素

    我是 OpenCV 的新手 我正在尝试从图像中获取圆形的像素 例如 我在随机图像上画一个圆圈 import cv2 raw img cv2 imread sample picture png x 50 y 50 rad 20 cv2 cir