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

姑苏区住房和建设局网站深圳小程序开发官网

姑苏区住房和建设局网站,深圳小程序开发官网,服务外包平台,网页开发需要的技术一、场景 相机1和相机2相对位置不变#xff0c;相机拍摄图片有重叠#xff0c;求他们交叠部分的一一对应关系。数学语言描述为已知相机1图片中P点像素(u1, v1)#xff0c;相机1中P点在相机2图片中像素值为(u2, v2)#xff0c;它们存在某种变换#xff0c;求变换矩阵。 因为…一、场景 相机1和相机2相对位置不变相机拍摄图片有重叠求他们交叠部分的一一对应关系。数学语言描述为已知相机1图片中P点像素(u1, v1)相机1中P点在相机2图片中像素值为(u2, v2)它们存在某种变换求变换矩阵。 因为涉及的场景比较简单目前没有涉及深度同时采集的目标近似平面所以可以简化场景采用单应性矩阵求解。所以上述所涉及的变换矩阵假设为单应性矩阵H3*3矩阵它们满足如下关系。 这样的话简单很多如果场景复杂涉及了深度或者采集对象不是平面可以使用本质矩阵/基础矩阵的方法获取这个变换矩阵只需借助标准标定板计算得到H。 二、单应性矩阵 定义用 [理想成像] 的相机从不同位置拍摄 [同一平面物体] 的图像之间存在单应性可以用 [透视变换] 表示 。有以下公式 接下来就是求解H矩阵上述公式展开如下 由平面坐标与齐次坐标对应关系上式可以表示为 进一步 写成AX0形式如下。这种形式求解方式很多前面的博客也有所涉及。不过需要特别指出的是虽然H矩阵有9个未知数但是只有8个自由度平面关系其中h331。所以求解方程只需要4个不共线点即可求解。 三、实际效果 3.1 全部代码 #!/usr/bin/env python # -*- coding: utf-8 -*- import cv2 import numpy as npdef OnMouseAction(event, x, y, flags, param):鼠标的回调函数处理鼠标事件:param event::param x::param y::param flags::param param::return:if event cv2.EVENT_LBUTTONDOWN:global gimg_x, gimg_y, gis_okgimg_x xgimg_y ygis_ok Trueelif event cv2.EVENT_RBUTTONDOWN:print(右键点击)elif flags cv2.EVENT_FLAG_LBUTTON:print(左鍵拖曳)elif event cv2.EVENT_MBUTTONDOWN:print(中键点击)def verification(img1, img2, H):def nothing(x):passcv2.namedWindow(image1)cv2.setMouseCallback(image1, OnMouseAction)# create trackbars for color changecv2.createTrackbar(thr, image1, 121, 255, nothing)cv2.createTrackbar(Shading, image1, 255, 255, nothing)count 0while True:cv2.imshow(image1, img1)cv2.imshow(image2, img2)k cv2.waitKey(1) 0xFF# 通过关闭窗口的右上角关闭if cv2.getWindowProperty(image1, cv2.WND_PROP_AUTOSIZE) 1:break# 通过按键盘的ESC退出if k 27:breakglobal gimg_x, gimg_y, gis_okif gis_ok:count 1cv2.circle(img1, (gimg_x, gimg_y), 3, (0, 0, 255), -1)cv2.putText(img1, str(count), (gimg_x, gimg_y), 2, 1, (0, 0, 255))gis_ok False(x, y, z) np.matmul(H, np.array([gimg_x, gimg_y, 1]).T)cv2.circle(img2, (int(x / z), int(y / z)), 2, (0, 0, 255), -1)cv2.putText(img2, str(count), (int(x / z), int(y / z)), 2, 1, (0, 0, 255))def getHomography(img1, img2):gray1 cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)gray2 cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)criteria (cv2.TERM_CRITERIA_EPS cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001)ret, corners1_1 cv2.findChessboardCorners(gray1, (gcols, grows), None)if not ret:return ret, None# sub-pixel corner detectioncorners1_2 cv2.cornerSubPix(gray1, corners1_1, (11, 11), (-1, -1), criteria)ret, corners2_1 cv2.findChessboardCorners(gray2, (gcols, grows), None)if not ret:return ret, None# sub-pixel corner detectioncorners2_2 cv2.cornerSubPix(gray2, corners2_1, (11, 11), (-1, -1), criteria)H, mask cv2.findHomography(corners1_2, corners2_2, cv2.RANSAC)return True, Hgimg1Root ./image_homography/1080p_1.png gimg2Root ./image_homography/1080p_2.png gimg3Root ./image_homography/720p_3.png (grows, gcols) (8, 11) def main():img1 cv2.imread(gimg1Root)img2 cv2.imread(gimg3Root)is_ok, H getHomography(img1, img2)print(H)verification(img1, img2, H)global gimg_x, gimg_y, gis_ok gimg_x 0 gimg_y 0 gis_ok False if __name__ __main__:main() 3.2 实际效果
http://www.hkea.cn/news/14512930/

相关文章:

  • 网站开发 实名认证需要备案吗注册城乡规划师考试时间2024
  • 在电脑上怎么做网站吉林市一建公司官网
  • 扬中网站哪家做得好服装怎么做网站推广
  • 做的网站怎才能被别人访问到有没有网站做悬赏的
  • 网站用静态域名解析电商网站开发的引言
  • 网站维护主要内容经纪人做网站技巧
  • 徐州市城乡和住房建设局网站商城系统开源
  • 网站设计公司业务怎么做中国上市公司前100名
  • 个人博客网站开发背景论文node.js做直播网站
  • 杭州做网站的甘肃省住房和城乡建设局网站
  • 给自己公司做网站运营全网营销的概念和特点
  • 深圳做网站排名福州思企互联网站建设公司怎么样
  • 用vue框架做的网站wordpress没有幻灯片
  • 如何写网站建设实验结果分析长治软件制作平台
  • 泗水县建设局的网站怎么打开二手网站建设论文答辩
  • 下载类网站开发条件wordpress开发手册chm
  • 中国数据统计网站怎样开一家公司
  • 群晖网站建设处理错误500小企业网站制作
  • 辽阳网站建设学校设计师找灵感的网站
  • 设计感网站有哪些方面上海网站建设 s
  • 邮件设计网站seo优化有哪些
  • 织梦印刷公司网站源码做网站的北京
  • 做临时网站企业年报网上申报系统网址
  • 织梦网站栏目管理wordpress更改ip后登录密码
  • 东营有什么网站建设公司三合一网站建设公司
  • 北京企业网站建设方济南公司网站建设公司哪家好
  • 郴州网站制作公司网页网站建设ppt模板下载
  • 手机好看的网站电子书城网站开发项目概况
  • 网站开发项目名电子商务网站建设的开发流程
  • 国内电商网站跳出率是多少包头移动的网站建设