当前位置: 首页 > wzjs >正文

购物网站模板代码下载网站推广优化外包便宜

购物网站模板代码下载,网站推广优化外包便宜,亚马逊aws在线观看,做二手房怎找房源网站一、Opencv关键点定位介绍 关键点定位在计算机视觉领域占据着核心地位,它能够精准识别图像里物体的关键特征点。OpenCV 作为功能强大的计算机视觉库,提供了多种实用的关键点定位方法。本文将详细阐述关键点定位的基本原理,深入探讨 OpenCV 中…

一、Opencv关键点定位介绍

关键点定位在计算机视觉领域占据着核心地位,它能够精准识别图像里物体的关键特征点。OpenCV 作为功能强大的计算机视觉库,提供了多种实用的关键点定位方法。本文将详细阐述关键点定位的基本原理,深入探讨 OpenCV 中几种常用的关键点定位算法,通过具体代码示例展示其使用方法,并介绍关键点定位在不同领域的实际应用。

在当今数字化时代,计算机视觉技术发展迅猛,广泛应用于图像识别、目标跟踪、机器人导航等众多领域。关键点定位作为计算机视觉的基础任务之一,旨在找出图像中具有代表性的特征点,这些点能够反映物体的结构和形状信息。OpenCV 凭借其丰富的函数库和高效的算法实现,成为了关键点定位的首选工具。

二、关键点定位原理

2.1 特征点的定义
特征点是图像中具有独特性质的点,通常具有以下特点:
独特性:在图像中能够明显区别于周围的点。
稳定性:在不同的光照、旋转、缩放等条件下,特征点的位置和特征能够保持相对稳定。
可重复性:在不同的图像或同一图像的不同视角下,能够可靠地检测到相同的特征点。
2.2 关键点定位的基本步骤
特征检测:在图像中找出可能的特征点。常用的方法有基于灰度变化、边缘检测等。
特征描述:为检测到的特征点生成一个描述符,用于表示该特征点的特征信息。描述符通常是一个向量,能够在不同的图像中匹配相同的特征点。
特征匹配:将不同图像中的特征点进行匹配,找出它们之间的对应关系。

三、代码实现

1. 导入必要的库

import numpy as np
import cv2
import dlib

numpy:是一个用于科学计算的基础库,提供了多维数组对象和处理这些数组的工具。
cv2:是 OpenCV 库,用于计算机视觉任务,如读取图像、绘制图形等。
dlib:是一个强大的机器学习库,在人脸检测和关键点定位方面有很好的表现。

2. 读取图像

img = cv2.imread("cr73.png")

cv2.imread:用于读取指定路径的图像文件,这里读取的是名为 cr73.png 的图像,并将其存储在变量 img 中。

3. 初始化人脸检测器

detector = dlib.get_frontal_face_detector()
faces = detector(img, 0)

dlib.get_frontal_face_detector():返回一个预训练好的人脸检测器对象 detector,用于检测图像中的人脸。
detector(img, 0):调用人脸检测器对图像 img 进行人脸检测。第二个参数 0 表示不进行图像金字塔的上采样,即只在原始图像上进行检测。检测结果存储在 faces 中,faces 是一个包含检测到的人脸矩形区域的列表。

4. 初始化关键点检测器

predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")

dlib.shape_predictor:用于加载预训练好的 68 个关键点检测器模型。这里需要提供模型文件的路径 "shape_predictor_68_face_landmarks.dat",该模型可以根据检测到的人脸区域预测出 68 个关键点的位置。

5. 遍历检测到的人脸并标注关键点

for face in faces:shape = predictor(img, face)landmarks = np.array([[p.x, p.y] for p in shape.parts()])for idx, point in enumerate(landmarks):pos = (point[0], point[1])cv2.circle(img, pos, 2, color=(0, 255, 0), thickness=-1)cv2.putText(img, str(idx), pos, cv2.FONT_HERSHEY_SIMPLEX, 0.4,(255, 255, 255), 1, cv2.LINE_AA)

shape = predictor(img, face):对于每个检测到的人脸区域 face,使用关键点检测器 predictor 在图像 img 上预测 68 个关键点的位置,结果存储在 shape 中。
landmarks = np.array([[p.x, p.y] for p in shape.parts()]):将 shape 中的关键点位置信息转换为 numpy 数组 landmarks,每个关键点用二维坐标 [x, y] 表示。
for idx, point in enumerate(landmarks):遍历 landmarks 中的每个关键点,idx 是关键点的编号(从 0 到 67),point 是关键点的坐标。
pos = (point[0], point[1]):将关键点的坐标转换为元组 pos,用于后续的绘制操作。
cv2.circle(img, pos, 2, color=(0, 255, 0), thickness=-1):在图像 img 上以 pos 为圆心,半径为 2 像素绘制一个绿色的实心圆,用于标记关键点。
cv2.putText(img, str(idx), pos, cv2.FONT_HERSHEY_SIMPLEX, 0.4, (255, 255, 255), 1, cv2.LINE_AA):在图像 img 上以 pos 为位置,使用 cv2.FONT_HERSHEY_SIMPLEX 字体,字号为 0.4,颜色为白色,线宽为 1 绘制关键点的编号 str(idx),并使用抗锯齿线条 cv2.LINE_AA 使文字更平滑。

6. 显示图像并等待按键

cv2.imshow("img", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

cv2.imshow("img", img):在名为 "img" 的窗口中显示处理后的图像 img。
cv2.waitKey(0):等待用户按下任意按键,0 表示无限等待。
cv2.destroyAllWindows():关闭所有由 OpenCV 打开的窗口。

完整代码:

import numpy as np
import cv2
import dlib
img = cv2.imread("cr73.png")
detector = dlib.get_frontal_face_detector()
faces =detector(img,0)
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
for face in faces:shape=predictor(img,face)landmarks =np.array([[p.x,p.y]for p in shape.parts()])for idx, point in enumerate(landmarks):pos = (point[0], point[1])cv2.circle(img, pos, 2,color=(0,255, 0),thickness=-1)cv2.putText(img, str(idx),pos,cv2.FONT_HERSHEY_SIMPLEX,0.4,(255,255,255),1,cv2.LINE_AA)
cv2.imshow("img",img)
cv2.waitKey(0)
cv2.destroyAllWindows()

结果显示:

四、总结

OpenCV 提供了丰富的关键点定位算法,每种算法都有其特点和适用场景。Harris 角点检测简单快速,适用于对实时性要求较高的场景;SIFT 算法具有尺度和旋转不变性,但计算复杂度较高;ORB 算法结合了速度和性能,是一种较为均衡的选择。
随着计算机视觉技术的不断发展,关键点定位算法也在不断改进和创新。未来,关键点定位将在更多的领域得到应用,如自动驾驶、增强现实等。同时,如何提高关键点定位的准确性和鲁棒性,仍然是研究的热点问题。

http://www.dtcms.com/wzjs/268997.html

相关文章:

  • 垂直性门户网站有哪些外链购买交易平台
  • 杭州二建建设有限公司网站奉化首页的关键词优化
  • php 网站换空间必应搜索引擎
  • githuub怎么做网站宁波seo教程推广平台
  • 网站开发教程多合一seo插件破解版
  • 衣联网和一起做网站 哪家强推广方案框架
  • 专业做毕业设计网站设计青岛seo整站优化
  • 地方农产品网站建设软件推广赚钱一个10元
  • wordpress.enseo培训课程
  • 电子商务网站推广的界定最新新闻事件今天
  • 上海软件定制seo站长工具下载
  • 单位网站建设典型材料推广码怎么填
  • 语文建设编辑部官方网站微信上怎么做广告推广
  • 百度做的网站国外可以打开吗永久不收费免费的聊天软件
  • 深圳网站设计要点百度优化服务
  • 新疆生产建设兵团社保卡激活网站阿里云搜索
  • 福州志愿者官方网站怎么做如何做网站推广私人
  • java做网站用什么做seo一键优化
  • 网站的页头页脚怎么做seo网络推广技术
  • 建设网站的注意事项怎么做小说推广挣钱
  • 泉州网站关键词推广网站域名备案查询
  • flash网站设计站长工具爱站
  • 公众号网站建设自己怎么优化网站
  • 做网站时管理员权限的页面网站广告策划
  • 创建网站公司好网络营销师培训
  • 网站域名怎么快速备案沧州搜索引擎优化
  • 柳市做网站免费seo网站推广在线观看
  • 微信嵌入网站开发百度seo优化
  • python做网站毕业设计中国国家人事人才培训网官网
  • 济南学网站建设哪里好小程序开发