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

长治网站开发商品推广软文写作500字

长治网站开发,商品推广软文写作500字,真人视频发牌网站开发,简历制作网站免费目录 cv2.projectPoints 投影 矩阵计算投影 cv2.projectPoints 投影 cv2.projectPoints() 是 OpenCV 中的一个函数,用于将三维空间中的点(3D points)投影到二维图像平面上。这在计算机视觉中经常用于相机标定、物体姿态估计、3D物体与2D图…

目录

cv2.projectPoints 投影

矩阵计算投影


cv2.projectPoints 投影

cv2.projectPoints() 是 OpenCV 中的一个函数,用于将三维空间中的点(3D points)投影到二维图像平面上。这在计算机视觉中经常用于相机标定、物体姿态估计、3D物体与2D图像之间的映射等场景。

函数原型:
cv2.projectPoints(objectPoints, rvec, tvec, cameraMatrix, distCoeffs)
objectPoints:3D点的集合,通常是物体的真实世界坐标。
rvec:旋转向量,表示物体相对于相机的旋转。
tvec:平移向量,表示物体相对于相机的位置。
cameraMatrix:相机的内参矩阵,通常通过相机标定得到。
distCoeffs:相机的畸变系数,通常是由相机标定得到的。

import cv2
import numpy as np# 定义 3D 点(假设这些点在一个立方体的表面上)
object_points = np.array([[0, 0, 0], [1, 0, 0], [1, 1, 0], [0, 1, 0], [0, 0, -1], [1, 0, -1], [1, 1, -1], [0, 1, -1]], dtype=np.float32)# 定义相机内参矩阵
camera_matrix = np.array([[1000, 0, 320],  # fx, 0, cx[0, 1000, 240],  # 0, fy, cy[0, 0, 1]  # 0, 0, 1
], dtype=np.float32)# 定义畸变系数(假设无畸变)
dist_coeffs = np.zeros((5, 1), dtype=np.float32)# 定义相机外参(旋转向量和平移向量)
rvec = np.array([0, 0, 0], dtype=np.float32)  # 无旋转
tvec = np.array([0, 0, -10], dtype=np.float32)  # 相机在 Z 轴正方向 5 个单位处# 将 3D 点投影到 2D 图像平面
image_points, _ = cv2.projectPoints(object_points, rvec, tvec, camera_matrix, dist_coeffs)# 创建一个空白图像(用于可视化)
image = np.zeros((480, 640, 3), dtype=np.uint8)image_points=np.squeeze(image_points,axis=1)
print(image_points)
# 在图像上绘制投影点
for point in image_points:x, y = point.ravel()cv2.circle(image, (int(x), int(y)), 3, (0, 255, 0), -1)  # 绘制绿色圆点# 显示图像
cv2.imshow("Projected Points", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

矩阵计算投影

内参,外参用的左乘

import numpy as np
import cv2# 定义相机内参矩阵 (3x3)
K = np.array([[1000, 0, 320],  # fx, 0, cx[0, 1000, 240],  # 0, fy, cy[0, 0, 1]])  # 0, 0, 1# 定义相机外参:旋转矩阵 (3x3) 和平移向量 (3x1)
R = np.eye(3)  # 假设相机没有旋转
t = np.array([[0], [0], [-10]])  # 相机在Z轴负方向平移10个单位# 生成随机3D点云 (Nx3)
num_points = 100
# points_3d = np.random.rand(num_points, 3) * 10  # 生成100个3D点,范围在[0, 10)points_3d = np.array([[0, 0, 0], [1, 0, 0], [1, 1, 0], [0, 1, 0], [0, 0, -1], [1, 0, -1], [1, 1, -1], [0, 1, -1]], dtype=np.float32)# 将3D点云从世界坐标系转换到相机坐标系
points_3d_cam = R @ points_3d.T + t  # 3xN
points_3d_cam = points_3d_cam.T  # 转置为Nx3# 将3D点云投影到2D图像平面
points_2d_homogeneous = K @ points_3d_cam.T  # 3xN
points_2d = points_2d_homogeneous[:2, :] / points_2d_homogeneous[2, :]  # 归一化
points_2d = points_2d.T  # 转置为Nx2# 创建空白图像
image_size = (640, 480)  # 图像尺寸
image = np.zeros((image_size[1], image_size[0], 3), dtype=np.uint8)print(points_2d)
# 将2D点绘制到图像上
for point in points_2d:x, y = int(point[0]), int(point[1])if 0 <= x < image_size[0] and 0 <= y < image_size[1]:  # 确保点在图像范围内cv2.circle(image, (x, y), 3, (0, 255, 0), -1)  # 绘制绿色圆点# 显示图像
cv2.imshow("2D Projection of Point Cloud", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

总结,两种方法的结果是一样的。

http://www.hkea.cn/news/29881/

相关文章:

  • 制作网站时怎样做滚动字幕新网站多久会被百度收录
  • 余姚物流做网站微信指数是搜索量吗
  • 怎样做网站轮播今日国内重大新闻事件
  • 想给大学做网站百度网盘搜索神器
  • jsp网站开发论文官方app下载安装
  • 关于机场建设的网站今日疫情最新情况
  • 网站域名注册服务商google浏览器官方
  • 通过网站开发工具怎么改自动跳网站百度指数有哪些功能
  • 可以发锚文本的网站百度搜索官方网站
  • 东莞网站建设企慕简述如何优化网站的方法
  • 可以做网站的公司seo外包
  • 自己怎么做网站视频赚钱5g网络优化培训
  • 数据库修改网站管理员密码seo网站有优化培训吗
  • 福田做商城网站建设找哪家公司好抖音怎么运营和引流
  • 厘米售卡站怎么做网站禁止搜索引擎收录的方法
  • 网站首页滚动图片怎么做谷歌搜索关键词排名
  • 嵩县网站开发友情链接获取的途径有哪些
  • 国家企业信息公示网(广东)海南快速seo排名优化
  • 高端网站设计 上海徐州seo排名公司
  • 泰安网站建设公司排名石家庄最新消息
  • 域名只做邮箱没网站要备案吗常见的网络推广方式包括
  • 昆山建设局网站360搜索首页
  • 正常做网站多少钱无锡网站制作无锡做网站
  • php做网站csdn网站seo公司哪家好
  • 今日头条建站工具何鹏seo
  • wordpress 培训模板优化落实疫情防控新十条
  • 关于做外汇现货的网站太原整站优化排名外包
  • 星悦做任务网站是新网站百度收录
  • 十大营销网站seo关键词查询工具
  • 怎么查询网站所有关键词靠谱的广告联盟