深度学习(十)--- cv2.pointPolygonTest() 判断一点是否在指定区域内

这篇具有很好参考价值的文章主要介绍了深度学习(十)--- cv2.pointPolygonTest() 判断一点是否在指定区域内。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天发现了opencv一个好用的函数 cv2.pointPolygonTest() ,它可以判断一个点是否在指定区域内。

1. cv2.pointPolygonTest() 函数解析
dist = cv2.pointPolygonTest(contour,point,Boolean)

contour: 多边形轮廓
point: 坐标点
Boolean:True或False ,True,返回距离值,内部为正,外部为负
dist: 图像里的点和轮廓之间的最短距离,轮廓外为负,轮廓内为正,轮廓上为0
2 . 代码示例
#设置多边形形状
pts = np.array([[759,281],[894,300],[854,395],[692,350]],np.int32)
# print(pts)
#坐标点
point =(814,339)
flag = cv2.pointPolygonTest(pts, point, True) ##判断一个点是否在多边形内部,pts:多边形的轮廓,(x,y)坐标点,True:表示返回点到多边形边界的距离
if flag >= 0:
    cv2.putText(image,"Within the boundary", (x,y),cv2.FONT_HERSHEY_COMPLEX,1,(255,0,255),3)  #在多边形内
else:
    cv2.putText(image,"Out of bounds", (x,y),cv2.FONT_HERSHEY_COMPLEX,1,(255,0,255),3) #不在多边形内
    
print(flag) # 输出距离值
3.reshape()

reshape() 是一个在 numpy 库中常用的函数,用于改变数组的形状.

numpy.reshape(array, newshape, order='C')

array:需要被改变形状的数组。
newshape:新的形状,可以是整数元组或整数列表。
order:可选参数,默认为 'C',表示按行的 C 风格顺序对数组进行重塑。

二维矩阵转换:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])  #2行3列
new_arr = np.reshape(arr, (3, 2))   #转换为3行2列
print(new_arr)  --->array([[1, 2],[3, 4],[5, 6]])

reshape(m,-1) #改成m行,列数需要计算
reshape(-1,m) #改成m列,行数需要计算

三维矩阵转换:文章来源地址https://www.toymoban.com/news/detail-685257.html

#3行4列的矩阵
z = np.array([[1, 2, 3, 4],
          [5, 6, 7, 8],
          [9, 10, 11, 12]])
          
转换为3维矩阵:
z.reshape(-1,2,3)的结果:
[[[ 1  2  3]
  [ 4  5  6]]

 [[ 7  8  9]
  [10 11 12]]]
结果大小: (2, 2, 3)

reshape(-1,m,n)#改成三维矩阵,不知道几个小矩阵,改成m*n的小矩阵
reshape(-1,2,2,3)#改成四维矩阵,不知道几个小矩阵,改成2个,2*3的小矩阵

到了这里,关于深度学习(十)--- cv2.pointPolygonTest() 判断一点是否在指定区域内的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity 判断物体是否在指定范围内

    使用 Physics.CheckSphere 函数通过检测指定点周围是否有碰撞体,可以传入一个位置向量和一个半径值,如果需要对指定层级进行检测可以传入LayerMask 表示需要检测的碰撞体的层。结果会返回一个bool值,表示该位置是否有碰撞体与之重叠。  运行效果

    2024年02月04日
    浏览(37)
  • CV2逐步学习-2:cv2.GaussianBlur()详解

    目录 高斯模糊GaussianBlur()中 参数详解 1.1. 由参数解释产生的 问题 深入理解前的准备: 高斯函数、图像滤波处理及卷积核 解释1.1的问题 权重矩阵 、高斯模糊的流程 摘要 高斯滤波是一种 线性平滑滤波 高斯滤波是对整幅图像进行 加权平均的过程 ,每一个像素点的值都由其本

    2024年02月05日
    浏览(40)
  • C#使用IsLeapYear方法判断指定年份是否为闰年

    目录 一、判断指定年是否为闰年的2个方法 1.使用IsLeapYear方法判断指定年份是否为闰年 2.使用自定义的算法计算指定年份是否为闰年 二、示例 1.方法1的实例 2.方法2的实例          使用IsLeapYear方法判断指定年份是否为闰年,可以通过判断指定的年份是否为闰年的方式来

    2024年01月25日
    浏览(35)
  • Java 8 判断日期字符串是否符合指定格式

    可以使用 Java 8 的 DateTimeFormatter 类来判断日期字符串是否符合指定格式。具体代码如下: 如果你不想通过捕获异常的方式来判断日期字符串是否符合指定格式,也可以使用 DateTimeFormatter 类中的 parseUnresolved() 方法来进行解析。具体代码如下: 以上代码中,使用 parseUnresolved(

    2024年02月16日
    浏览(46)
  • ImportError: DLL load failed while importing cv2:找不到指定的模块,正对windows server错误问题

    1.网上查了那么多资料、博客,大多数给的处理方法是升级或安装opencv_python模块版本与python版本一致;本人是在windows server机器上遇到的问题,升级安装opencv_python模块后依然报错!!!   令人头大 2.皇天不负有心人,让我终于找到原因并附上解决方法; 原因:windows server上

    2024年02月17日
    浏览(40)
  • windows下找不到模块ImportError: DLL load failed while importing cv2: 找不到指定的模块。(解决方案)

    windows下一定要手动安装,否则安装的包不合适也是找不到的,一定是- win_amd64.whl ImportError: DLL load failed while importing cv2: 找不到指定的模块。(解决方案) 方法一 1.从清华镜像官网下载opencv-python和opencv-contrib-python安装包,网址为 清华镜像opencv-python下载 清华镜像opencv-contrib-

    2024年02月11日
    浏览(42)
  • Pycharm中ImportError: DLL load failed while importing cv2: 找不到指定的模块。(已经安装过了opencv-python相关包)

    之前在pychram中使用opencv(import cv2)没有任何问题,今天突然运行一个demo代码出现了 ImportError: DLL load failed while importing cv2 : 找不到指定的模块。问题,很是纳闷,纠结了快一天了,终于发现了问题所在。我的是 opencv版本不匹配导致的 。   运行环境 :window11+pycharm,python3.9

    2024年02月06日
    浏览(44)
  • 【JWT】SpringBoot+微信小程序根据指定参数生成Token、更新Token、判断Token是否已经过期、封装wx.request请求更新Token并判断Token是否过期

    微信小程序js代码 微信小程序点击登录按钮调用该方法 java后端代码 getUserCode方法为获取用户的唯一标识openId userLogin方法用于用户授权登录并获取Token userLogin实现类方法 封装了wx的request请求,每次发起请求的时候都走一遍更新Token的接口/user/updateTokenTime,如果接口返回offlin

    2024年02月04日
    浏览(39)
  • 【Python】进阶学习:OpenCV--一文详解cv2.namedWindow()

    【Python】进阶学习:OpenCV–一文详解cv2.namedWindow() 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~ 💡 创作高质量博文(平均质量分92+),分享更多关于深度学习、

    2024年03月20日
    浏览(39)
  • python pyinstaller运行可执行exe文件,在服务器上出错:importError: DLL load failed while importing cv2:找不到指定的模块 解决方法

    目录 一、问题描述 二、原因分析  三、解决步骤 1.远程服务器上,打开“服务管理器”-“功能”-“添加功能” 2.勾选“桌面体验” 3.安装,自动安装“墨迹和手写服务” 4.重启后安装成功 5. 再去cmd中执行 exe文件不报错 四、其他方法 我的电脑:win10+python3.8+pycharm; 远程服务

    2024年02月14日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包