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

单位网站建设开发公司wordpress怎么导入html

单位网站建设开发公司,wordpress怎么导入html,龙华网站开发,新像素ui设计学费文章目录 角点检测查看角点标定 opencv中内置了张正友的棋盘格标定法,通过一些姿态各异的棋盘格图像,就能标定相机的内外参数。 角点检测 第一步是角点检测,首先需要读取棋盘格图像 import numpy as np import cv2 import ospath imgs #…

文章目录

    • 角点检测
    • 查看角点
    • 标定

opencv中内置了张正友的棋盘格标定法,通过一些姿态各异的棋盘格图像,就能标定相机的内外参数。

角点检测

第一步是角点检测,首先需要读取棋盘格图像

import numpy as np
import cv2
import ospath = 'imgs'   # 图像文件夹;相对路径
fs = os.listdir(path)
grays = []
for f in fs:fName = os.path.join(path, f)img = cv2.imread(fName)gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 图像转灰度grays.append(gray)

其中,grays中便是所有棋盘格灰度图像,接下来,就要找到这些棋盘格的角点位置,主要用到函数findChessboardCorners,其输入参数为棋盘格图像、角点个数以及标志位。

w, h = 11, 8        # 交点横纵个数# 亚像素点的检测条件
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001)
pImgs = []
for g in grays: # cs即位初步检测的角点ret, cs = cv2.findChessboardCorners(g, (w, h), None) # 亚像素角点检测pImg = cv2.cornerSubPix(g, cs.astype(np.float32), (5, 5), (-1,   -1), criteria)pImgs.append(np.squeeze(pImg))

其中,pImg用于存放像素坐标中的二维点。

查看角点

为了验证角点检测是否合理,可以将其画出来,用opencv自带的工具就像下面这样就可以,

cv2.drawChessboardCorners(grays[0], (w, h), pImgs[0], None)
cv2.imshow('findCorners', grays[0])
cv2.waitKey(1000)

但窗口缩放比较麻烦,所以更推荐用经典的matplotlib来画图

import matplotlib.pyplot as pltpts = pImgs[0].squeeze().reshape(-1,2).T
plt.imshow(grays[0])
plt.scatter(pts[0], pts[1], marker='*', c='red')
plt.show()

效果如下

在这里插入图片描述

标定

函数calibrateCamera可用于图像标定,只需将现实世界的点和相机坐标系中的角点的一一对应关系输入,便能得到相应的相机矩阵。其中,现实世界中哦的三维点,一般成为对象点,由于棋盘格中每个方块都是等距的,故可直接建立为类似(1,0,0), (2,0,0)...即可

objp = np.zeros((6*7,3), np.float32)
objp[:,:2] = np.mgrid[0:7,0:6].T.reshape(-1,2)pObj = np.zeros((w*h, 3), np.float32)
pObj[:,:2] = np.mgrid[0:w, 0:h].T.reshape(-1,2)
pObjs = [pObj for _ in range(len(pImgs))]

至此,万事俱备,只需调用

size = grays[0].shape[::-1]     # 图像尺寸
ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(pObjs, pImgs, size, None, None)

其中,rec为成功标志,为True时表示标定成功。

mtx为内参矩阵,差不多是

[ f x 0 c x 0 f y c y 0 0 1 ] = [ 5572.47 0 1314.18 0 5573.04 1008.16 0 0 1 ] \begin{bmatrix}f_x&0&c_x\\0&f_y&c_y\\0&0&1\end{bmatrix} =\begin{bmatrix} 5572.47&0&1314.18\\0&5573.04&1008.16\\0&0&1 \end{bmatrix} fx000fy0cxcy1 = 5572.470005573.0401314.181008.161

dist为畸变参数,最多有8个,分别表示k1,k2,p1,p2,k3,k4,k5,k6,本次标定得到的结果为

>>> print(dist)
[[-8.36577030e-02 -1.68977185e-01 -1.12233478e-03  9.45685802e-04-2.04246147e+01]]

这些畸变参数的物理意义如下

x ′ = x z , y ′ = y z , r = x ′ 2 + y ′ 2 K = 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 1 + k 4 r 2 + k 5 r 4 + k 6 r 6 x ′ ′ = K x ′ + 2 p 1 x ′ y ′ + p 2 ( r 2 + 2 x ′ 2 ) u = f x x ′ ′ + c x v = f y y ′ ′ + c y \begin{aligned} x'&=\frac{x}{z},\quad y'=\frac{y}{z},\quad r=\sqrt{x'^2+y'^2}\\ K& = \frac{1+k_1r^2+k2_r^4+k_3r^6}{1+k_4r^2+k_5r^4+k_6r^6}\\ x'' &= Kx'+2p_1x'y'+p_2(r^2+2x'^2)\\ u&=f_xx''+c_x\\ v&=f_yy''+c_y\\ \end{aligned} xKx′′uv=zx,y=zy,r=x′2+y′2 =1+k4r2+k5r4+k6r61+k1r2+k2r4+k3r6=Kx+2p1xy+p2(r2+2x′2)=fxx′′+cx=fyy′′+cy

rvecstvecs分别表示每个标定板对应的旋转和平移向量。

http://www.yayakq.cn/news/883992/

相关文章:

  • html自学怎么入门谷歌seo查询
  • 学校网站的作用和意义西部数码虚拟主机怎么做网站
  • 个人网站起个名字网页设计网站搭建
  • 误给传销公司做网站算犯罪吗网站功能性介绍
  • 宁夏网站建设电话建网站的宽带多少
  • 做冻品海鲜比较大的网站有哪些档案网站 内容建设
  • 闸北网站建设公司wordpress 读取用户信息
  • 网站域名申请步骤北京做网站多少钱
  • 网站视觉设计规范dreamware做网站
  • 怎么建设淘客自己的网站看板娘wordpress怎么带声音
  • 模板演示网站房地产网站建设方案书
  • 买源码做网站可以访问境外的浏览器
  • 版面布局网站的域名和所采用的版面布局形式seo优化文章网站
  • 关于建设网站的报告高端网站建设浩森宇特
  • 网站 建设初步互联网公司做什么的
  • 网站建设,h5,小程序房产网上备案查询
  • 13个优质平面设计网站推荐wap网站建设哪家好
  • 有做二手厨房设备的网站吗网络营销工具体系
  • 做购物网站需要什么服务器北京主页网站建设
  • 怎么形容网站做的好廊坊有限公司
  • 企业网站的设计与实现东莞微网站建设报价
  • 张家港电脑网站制作杭州十大软件公司
  • 网站代码大全怎么查房产信息查询
  • 宜兴营销型网站建设网络正常但网页打不开
  • 做游戏用什么电脑系统下载网站wordpress详细指南
  • 中标公示查询网站网址最新连接查询
  • 西部数码网站源码外贸公司网站建设费用 如何申请
  • 可以上传图片的网站怎么做绍兴微网站建设
  • 免费自动建站wordpress创建分站点
  • 腾讯云可以做网站吗免费企业注册