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

关于医疗保障局门户网站建设沈阳市城乡建设部官方网站

关于医疗保障局门户网站建设,沈阳市城乡建设部官方网站,济南建设招标网,中国最好的域名注册网站一、背景 已知相机参数#xff08;传感器宽度和高度、图像宽度和高度、焦距、相对航高、像主点坐标 #xff09;#xff0c;在给定像素坐标的前提下#xff0c;求世界坐标#xff0c;大部分通过AI来实现#xff0c;不知道哪个步骤有问题#xff0c;望大家指正 二、代码…一、背景 已知相机参数传感器宽度和高度、图像宽度和高度、焦距、相对航高、像主点坐标 在给定像素坐标的前提下求世界坐标大部分通过AI来实现不知道哪个步骤有问题望大家指正 二、代码 import numpy as np import cv2 # 畸变校正 def undistort_pixel(pixel_x, pixel_y, sym_dist, dec_dist):     k0,k1,k2,k3sym_dist     # k1, k2, p1, p2, k3 sym_dist     p1,p2,p3dec_dist     fx focal_length_mm     fy focal_length_mm     cx xpoff_px     cy ypoff_px     distCoeffs np.array([k1, k2, p1, p2,k3])     cameraMatrix np.array([[fx, 0, cx], [0, fy, cy], [0, 0, 1]])     distorted_points np.array([[pixel_x, pixel_y]], dtypenp.float32)     undistorted_points cv2.undistortPoints(distorted_points, cameraMatrix, distCoeffs)     #################################################### 4\对图像去畸变     img cv2.imread(./images/100_0004_0001.JPG)     img_undistored cv2.undistort(img, cameraMatrix, distCoeffs)     cv2.imwrite(./images/100_0004_00011.JPG, img_undistored)     return undistorted_points[0][0][0], undistorted_points[0][0][1] # 相机坐标转世界坐标 def camera_to_world_coordinates(cam_coords, pos):     # 获取相机到世界的转换参数     pos_x, pos_y, pos_z, roll, pitch, yaw pos     # 将角度转换为弧度     roll np.radians(roll)     pitch np.radians(pitch)     yaw np.radians(yaw)     # 计算旋转矩阵     R_roll np.array([         [1, 0, 0],         [0, np.cos(roll), -np.sin(roll)],         [0, np.sin(roll), np.cos(roll)]     ])     R_pitch np.array([         [np.cos(pitch), 0, np.sin(pitch)],         [0, 1, 0],         [-np.sin(pitch), 0, np.cos(pitch)]     ])     R_yaw np.array([         [np.cos(yaw), -np.sin(yaw), 0],         [np.sin(yaw), np.cos(yaw), 0],         [0, 0, 1]     ])     R R_yaw R_pitch R_roll     # 相机坐标转换到世界坐标     cam_coords_homogeneous np.array([cam_coords[0], cam_coords[1], -H, 1])     world_coords R cam_coords_homogeneous[:3] np.array([pos_x, pos_y, pos_z])     return world_coords if __name__ __main__: 取消 首页 编程 手机 软件 硬件 安卓 苹果 手游 教程 平面 服务器 首页 脚本专栏 python python无人机航拍图片像素坐标 python实现无人机航拍图片像素坐标转世界坐标的示例代码 2024-06-12 10:42:38 作者GIS从业者 已知相机参数在给定像素坐标的前提下,求世界坐标,大部分通过AI来实现,本文给大家分享实现脚本,感兴趣的朋友跟随小编一起看看吧 背景 已知相机参数传感器宽度和高度、图像宽度和高度、焦距、相对航高、像主点坐标 在给定像素坐标的前提下求世界坐标大部分通过AI来实现不知道哪个步骤有问题望大家指正 脚本 import numpy as np import cv2 # 畸变校正 def undistort_pixel(pixel_x, pixel_y, sym_dist, dec_dist):     k0,k1,k2,k3sym_dist     # k1, k2, p1, p2, k3 sym_dist     p1,p2,p3dec_dist     fx focal_length_mm     fy focal_length_mm     cx xpoff_px     cy ypoff_px     distCoeffs np.array([k1, k2, p1, p2,k3])     cameraMatrix np.array([[fx, 0, cx], [0, fy, cy], [0, 0, 1]])     distorted_points np.array([[pixel_x, pixel_y]], dtypenp.float32)     undistorted_points cv2.undistortPoints(distorted_points, cameraMatrix, distCoeffs)     #################################################### 4\对图像去畸变     img cv2.imread(./images/100_0004_0001.JPG)     img_undistored cv2.undistort(img, cameraMatrix, distCoeffs)     cv2.imwrite(./images/100_0004_00011.JPG, img_undistored)     return undistorted_points[0][0][0], undistorted_points[0][0][1] # 相机坐标转世界坐标 def camera_to_world_coordinates(cam_coords, pos):     # 获取相机到世界的转换参数     pos_x, pos_y, pos_z, roll, pitch, yaw pos     # 将角度转换为弧度     roll np.radians(roll)     pitch np.radians(pitch)     yaw np.radians(yaw)     # 计算旋转矩阵     R_roll np.array([         [1, 0, 0],         [0, np.cos(roll), -np.sin(roll)],         [0, np.sin(roll), np.cos(roll)]     ])     R_pitch np.array([         [np.cos(pitch), 0, np.sin(pitch)],         [0, 1, 0],         [-np.sin(pitch), 0, np.cos(pitch)]     ])     R_yaw np.array([         [np.cos(yaw), -np.sin(yaw), 0],         [np.sin(yaw), np.cos(yaw), 0],         [0, 0, 1]     ])     R R_yaw R_pitch R_roll     # 相机坐标转换到世界坐标     cam_coords_homogeneous np.array([cam_coords[0], cam_coords[1], -H, 1])     world_coords R cam_coords_homogeneous[:3] np.array([pos_x, pos_y, pos_z])     return world_coords if __name__ __main__:     ####################################################基本参数     # 传感器宽度和高度毫米    sensor_width_mm 12.83331744000000007588     sensor_height_mm 8.55554496000000064271     # 图像宽度和高度像素     image_width_px 5472     image_height_px 3648     # 焦距毫米     focal_length_mm 8.69244671863242679422     # 焦距米     focal_length_m 8.69244671863242679422/1000     # 相对航高米     H86.93     #像主点坐标 像素     xpoff_px20.88973563438230485190     ypoff_px50.51977022866981315019     #################################################### 1\计算空间分辨率     # 传感器尺寸转换为米     sensor_width_m sensor_width_mm / 1000     sensor_height_m sensor_height_mm / 1000     # 计算水平和垂直的 GSD     GSD_x (sensor_width_m/image_width_px) * (H / focal_length_m )     GSD_y (sensor_height_m /image_height_px) * (H / focal_length_m)     # 水平和垂直方向的 GSD     print(水平方向的 GSD:, GSD_x, 米/像素)     print(垂直方向的 GSD:, GSD_y, 米/像素)     #################################################### 2\给定像素坐标,计算相机坐标     # 像素坐标     oripixel_x image_width_px     oripixel_y image_height_px     # oripixel_x image_width_px/2     # oripixel_y image_height_px/2     # oripixel_x 0     # oripixel_y 0     pixel_xoripixel_x-xpoff_px-image_width_px/2     pixel_yoripixel_y-ypoff_px-image_height_px/2     # 计算相机坐标假设无畸变     camera_x pixel_x * GSD_x     camera_y pixel_y * GSD_y     print(像素坐标 (, oripixel_x, ,, oripixel_y, ) 对应的相机坐标 (x, y): (, camera_x, 米, , camera_y, 米))     #################################################### 3\计算畸变后坐标     # 对称畸变系数     sym_dist [0, -0.00043396118129128110, 0.00000262222711982075, -0.00000001047488706013]     # 径向畸变     dec_dist [0.00000205885592671873, -0.00000321714140091248, 0]     # 进行畸变校正     undistorted_camera_x, undistorted_camera_y undistort_pixel(pixel_x, pixel_y, sym_dist, dec_dist)     print(畸变校正后像素坐标 (, oripixel_x, ,, oripixel_y, ) 对应的相机坐标 (x, y): (, undistorted_camera_x, 米, , undistorted_camera_y, 米))     #################################################### 4\计算世界坐标     # POS数据     pos [433452.054688, 2881728.519704, 183.789696, 0.648220, -0.226028, 14.490357]     # 计算世界坐标     world_coords camera_to_world_coordinates((undistorted_camera_x, undistorted_camera_y), pos)     print(旋转平移变换后像素坐标 (, oripixel_x, ,, oripixel_y, ) 对应的世界坐标 (x, y): (, world_coords[0], 米, , world_coords[1], 米)) 到此这篇关于python实现无人机航拍图片像素坐标转世界坐标的示例代码的文章就介绍到这了。
http://www.zqtcl.cn/news/295398/

相关文章:

  • 吴桥网站新网站优化怎么做
  • 做网站要求什么条件0资本建设网站
  • 免费做网站排名洛阳软件开发公司有哪些
  • 网站搜索优化方法东莞seo全网营销
  • 广州微网站建设哪家好wordpress怎样将小工具放到左侧
  • 汕头网站搜索优化嘉兴网络项目建站公司
  • 怎么查询网站是什么时候做的网站app的意义
  • 曹妃甸网站建设合肥的房产网站建设
  • 怎么做网站前台二级区域网站名
  • 服务器租用相关网站一个空间怎么放两个网站吗
  • 每个城市建设规划在哪个网站南宁seo怎么做优化团队
  • 做资讯类网站ccd设计公司官网
  • 写作网站5妙不写就删除抚州建设网站
  • 沙田网站建设公司网站风格设计原则
  • 安徽省建设监理网站黑群晖可以做网站吗
  • 手机百度seo快速排名搜索引擎优化目标
  • 长春 房地产网站建设网站建设 合同
  • 电商专业培训网站建设wordpress内置播放器
  • 创意网站设计模板点击器免费版
  • 做的不错的h5高端网站网站是怎么优化的
  • 淄博做网站优化佛山 做网站公司
  • 设计网站的步骤网站开发怎么学习
  • 提供网站技术国内外电子政务网站建设差距
  • 阜新建设网站物流网站建设的小结
  • 个人可以网站备案吗建设多用户网站
  • 平面设计素材库淄博网站优化价格
  • moodle网站建设论坛排名
  • 网站建设与推广方式起名网站建设
  • 厦门网站建设网站制作网站广告推广价格
  • 网站建设费用计入哪个科目深圳网站建设工资