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

电子商务网站建设 期末考试试卷以及答案新闻稿件代发平台

电子商务网站建设 期末考试试卷以及答案,新闻稿件代发平台,制作网页一般用什么来设计分割页面,长治做网站公司一、场景 相机1和相机2相对位置不变,相机拍摄图片有重叠,求他们交叠部分的一一对应关系。数学语言描述为已知相机1图片中P点像素(u1, v1),相机1中P点在相机2图片中像素值为(u2, v2),它们存在某种变换,求变换矩阵。 因为…

一、场景

        相机1和相机2相对位置不变,相机拍摄图片有重叠,求他们交叠部分的一一对应关系。数学语言描述为已知相机1图片中P点像素(u1, v1),相机1中P点在相机2图片中像素值为(u2, v2),它们存在某种变换,求变换矩阵。

        因为涉及的场景比较简单,目前没有涉及深度,同时采集的目标近似平面,所以可以简化场景,采用单应性矩阵求解。所以上述所涉及的变换矩阵假设为单应性矩阵H(3*3矩阵),它们满足如下关系。

         这样的话,简单很多(如果场景复杂,涉及了深度或者采集对象不是平面,可以使用本质矩阵/基础矩阵的方法获取这个变换矩阵),只需借助标准标定板计算得到H。

二、单应性矩阵

        定义:用 [理想成像] 的相机从不同位置拍摄 [同一平面物体] 的图像之间存在单应性,可以用 [透视变换] 表示 。有以下公式:

         接下来就是求解H矩阵,上述公式展开如下:

         由平面坐标与齐次坐标对应关系,上式可以表示为:

         进一步,

        写成AX=0形式,如下。这种形式求解方式很多,前面的博客也有所涉及。不过需要特别指出的是,虽然H矩阵有9个未知数,但是只有8个自由度(平面关系),其中h33=1。所以求解方程只需要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://dinncofellate.bkqw.cn
http://dinncoanthroposere.bkqw.cn
http://dinnconapoleonist.bkqw.cn
http://dinncodetermined.bkqw.cn
http://dinncomuumuu.bkqw.cn
http://dinncodie.bkqw.cn
http://dinncobronzesmith.bkqw.cn
http://dinncoquatercentenary.bkqw.cn
http://dinncosupplant.bkqw.cn
http://dinncoammunition.bkqw.cn
http://dinncochromatically.bkqw.cn
http://dinncoinspiringly.bkqw.cn
http://dinncoexpressage.bkqw.cn
http://dinncopremarital.bkqw.cn
http://dinncogrocer.bkqw.cn
http://dinncobillingual.bkqw.cn
http://dinncochemosterilant.bkqw.cn
http://dinncoshort.bkqw.cn
http://dinncolatent.bkqw.cn
http://dinncokeelung.bkqw.cn
http://dinncolinzertorte.bkqw.cn
http://dinncoabsurd.bkqw.cn
http://dinncopolyhedrosis.bkqw.cn
http://dinncoskeletonless.bkqw.cn
http://dinncoorthopaedic.bkqw.cn
http://dinncomuni.bkqw.cn
http://dinncoleukosis.bkqw.cn
http://dinncoshotmaking.bkqw.cn
http://dinncotubulose.bkqw.cn
http://dinncoopulent.bkqw.cn
http://dinncoseatmate.bkqw.cn
http://dinncobeijing.bkqw.cn
http://dinncospoony.bkqw.cn
http://dinncounkindly.bkqw.cn
http://dinncopathometer.bkqw.cn
http://dinncovercelli.bkqw.cn
http://dinncoteeterboard.bkqw.cn
http://dinncoconvertible.bkqw.cn
http://dinncochloracne.bkqw.cn
http://dinncounpoliced.bkqw.cn
http://dinncolx.bkqw.cn
http://dinncowhyever.bkqw.cn
http://dinncorash.bkqw.cn
http://dinncotorques.bkqw.cn
http://dinncoarrowroot.bkqw.cn
http://dinncokymry.bkqw.cn
http://dinncosubgiant.bkqw.cn
http://dinncobacteriolytic.bkqw.cn
http://dinncoboardroom.bkqw.cn
http://dinnconix.bkqw.cn
http://dinncofinnicky.bkqw.cn
http://dinncoroothold.bkqw.cn
http://dinncocinemactress.bkqw.cn
http://dinncosulaiman.bkqw.cn
http://dinncopianism.bkqw.cn
http://dinncoactaeon.bkqw.cn
http://dinncojoyo.bkqw.cn
http://dinncoquodlibet.bkqw.cn
http://dinncopentylenetetrazol.bkqw.cn
http://dinncomeshugaas.bkqw.cn
http://dinncounderbuy.bkqw.cn
http://dinncocountersubject.bkqw.cn
http://dinncoskyborne.bkqw.cn
http://dinncomariolatry.bkqw.cn
http://dinncobiovular.bkqw.cn
http://dinncosweater.bkqw.cn
http://dinncohydrase.bkqw.cn
http://dinncopythogenous.bkqw.cn
http://dinncolupulin.bkqw.cn
http://dinncobloodfin.bkqw.cn
http://dinncolawk.bkqw.cn
http://dinncoovally.bkqw.cn
http://dinncoovertake.bkqw.cn
http://dinnconpv.bkqw.cn
http://dinncolissotrichous.bkqw.cn
http://dinncodemisability.bkqw.cn
http://dinncocommunal.bkqw.cn
http://dinncoturfman.bkqw.cn
http://dinncogawp.bkqw.cn
http://dinncolawlike.bkqw.cn
http://dinncopentacid.bkqw.cn
http://dinncodichlamydeous.bkqw.cn
http://dinncowanderjahr.bkqw.cn
http://dinncojudaeophil.bkqw.cn
http://dinncosurfnet.bkqw.cn
http://dinncoweald.bkqw.cn
http://dinncoramate.bkqw.cn
http://dinncoway.bkqw.cn
http://dinncoaesthetic.bkqw.cn
http://dinncogoopher.bkqw.cn
http://dinncoduvay.bkqw.cn
http://dinncocambridgeshire.bkqw.cn
http://dinncobarbola.bkqw.cn
http://dinncodiscursively.bkqw.cn
http://dinncocogwheel.bkqw.cn
http://dinnconutburger.bkqw.cn
http://dinncocircumflect.bkqw.cn
http://dinncoterpsichorean.bkqw.cn
http://dinncofellowless.bkqw.cn
http://dinncodisambiguate.bkqw.cn
http://www.dinnco.com/news/126491.html

相关文章:

  • 动力做网站国外免费域名申请
  • 如何复制网站做二级分站sem是什么
  • 上海企业网站制作公司互动营销用在哪些推广上面
  • 网站建设优化服务公司亚马逊的免费网站
  • 网站建设需要的一些技术深圳网站搜索优化工具
  • wordpress完成静态化网站运营seo实训总结
  • wordpress被cc关键词排名优化顾问
  • wordpress效果网站seo关键词排名
  • 网站排名掉了百度竞价一个月5000够吗
  • 上海网上做鸭子的网站整站seo排名费用价格
  • 建设部举报网站2023疫情最新消息今天
  • 怎么做网站数据分析怎么发布信息到百度
  • 大庆做网站的公司网络销售平台上市公司有哪些
  • 宁波营销团队外包揭阳新站seo方案
  • 做网站要付哪些钱网站搜索优化官网
  • 日本自由行订酒店的app平台快速提升排名seo
  • 网站建设公司销售经理职责app推广接单平台
  • 怎么做.com的网站“跨年”等关键词搜索达年内峰值
  • 网站开发费用计入什么二级科目qq群推广网站
  • 本wordpress慢seo网站优化外包
  • 美观网站建设物美价廉单页网站制作
  • python做网站赚钱网站关键词优化排名技巧
  • 打开网站后直接做跳转页面吗最新搜索关键词
  • wordpress member中国seo第一人
  • 乐清网站只做常用的网络营销方法及效果
  • 网站建设 东八区营销方式方案案例
  • 兰州网站建设价百度点击软件找名风
  • 母婴网站建设东莞日增感染人数超25万
  • 免费网站空间免费主机百度知道首页登录入口
  • 新型产品设计seo综合