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

视频解析网站怎么做的做店招的网站

视频解析网站怎么做的,做店招的网站,哪里能找到免费网站,成都房产信息网官网查询系统1:这个方法个人测试觉得是正确的,误差较小,目前满足我当前的需求,如果方法不对,请大家评论,完善。 2:确保拍摄的参照物是垂直的,如果不垂直,就会有误差,不垂…

1:这个方法个人测试觉得是正确的,误差较小,目前满足我当前的需求,如果方法不对,请大家评论,完善。

2:确保拍摄的参照物是垂直的,如果不垂直,就会有误差,不垂直的角度越大,误差越大。

实际中主要是利用无人机拍摄的俯视图,计算边缘到特定点的距离。

3:使用棋盘格作为物理参照物,如下

4:代码

import cv2
import numpy as np
import glob
def get_K_and_D(checkerboard, imgsPath):CHECKERBOARD = checkerboardsubpix_criteria = (cv2.TERM_CRITERIA_EPS+cv2.TERM_CRITERIA_MAX_ITER, 30, 0.01)calibration_flags = cv2.fisheye.CALIB_RECOMPUTE_EXTRINSIC+cv2.fisheye.CALIB_CHECK_COND+cv2.fisheye.CALIB_FIX_SKEWobjp = np.zeros((1, CHECKERBOARD[0]*CHECKERBOARD[1], 3), np.float32)objp[0,:,:2] = np.mgrid[0:CHECKERBOARD[0], 0:CHECKERBOARD[1]].T.reshape(-1, 2)*50_img_shape = None#print(objp)#objp+=200objpoints = []imgpoints = []images = glob.glob(imgsPath + '/*.jpg')for fname in images:img = cv2.imread(fname)if _img_shape == None:_img_shape = img.shape[:2]else:assert _img_shape == img.shape[:2], "All images must share the same size."gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)ret, corners = cv2.findChessboardCorners(gray, CHECKERBOARD,cv2.CALIB_CB_ADAPTIVE_THRESH) #+cv2.CALIB_CB_FAST_CHECK+cv2.CALIB_CB_NORMALIZE_IMAGE)if ret == True:objpoints.append(objp)cv2.cornerSubPix(gray,corners,(5,5),(-1,-1),subpix_criteria)imgpoints.append(corners)#print(images)N_OK = len(objpoints)#print(objpoints)K = np.zeros((3, 3))D = np.zeros((4, 1))rvecs = [np.zeros((1, 1, 3), dtype=np.float64) for i in range(N_OK)]tvecs = [np.zeros((1, 1, 3), dtype=np.float64) for i in range(N_OK)]rms, _, _, _, _ = cv2.fisheye.calibrate(objpoints,imgpoints,gray.shape[::-1],K,D,rvecs,tvecs,calibration_flags,(cv2.TERM_CRITERIA_EPS+cv2.TERM_CRITERIA_MAX_ITER, 30, 1e-6))DIM = _img_shape[::-1]print("Found " + str(N_OK) + " valid images for calibration")print("DIM=" + str(_img_shape[::-1]))print("K=np.array(" + str(K.tolist()) + ")")print("D=np.array(" + str(D.tolist()) + ")")print("rms",rms)return DIM, K, D,cornersif __name__ == '__main__':BORAD_HEIGHT=3BORAD_WIDTH=3radius = 1color = (0, 0, 255)  # BGR格式,红色thickness = 2DIM, K, D,corners = get_K_and_D((BORAD_HEIGHT, BORAD_WIDTH), './distance')   dst_img=cv2.imread("./distance/img_dst_distance.jpg")cnt=0print(corners)for index in range(len(corners)): x, y = corners[index][0]color = (0, 0, 255)  # BGR格式,红色cv2.putText(dst_img, str(cnt), (int(x), int(y)), cv2.FONT_HERSHEY_SIMPLEX, 1,color, thickness)color = (0, 255, 255)  # BGR格式,红色cv2.circle(dst_img,(int(x),int(y)), radius, color, thickness)cnt+=1dist_total=0for i in range(BORAD_HEIGHT):print(i * BORAD_WIDTH,(i+1) * BORAD_WIDTH-1)print(corners[i * BORAD_WIDTH,:])dist = cv2.norm(corners[i * BORAD_WIDTH,:], corners[(i+1) * BORAD_WIDTH-1,:], cv2.NORM_L2)dist_total += dist / (BORAD_WIDTH - 1)dist_square = dist_total / BORAD_HEIGHTprint("dst_img.shape:",dst_img.shape)print("dist_square:",dist_square)realy_board_length=13.5/2 #厘米,13.5是从尺子测量出来2个正方形边长的长度,所以单个要除以2realy_H=dst_img.shape[0]*realy_board_length/dist_squarerealy_W=dst_img.shape[1]*realy_board_length/dist_squareprint("realy_H",realy_H)print("realy_W",realy_W)ret=1cv2.drawChessboardCorners(dst_img, (BORAD_HEIGHT,BORAD_WIDTH), corners, ret)cv2.imshow("org_img", dst_img)cv2.waitKey(0) 

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

相关文章:

  • 网站地图表现形式罗湖网页设计
  • 网站建设维护管理软件国际贸易英文网站
  • 书店网站建设可行性分析网站开发人员招募费用
  • 湛江 网站建设wordpress各个文件
  • php 做网站用dw做网站 主题是哪个
  • 人流什么时间做 新闻源网站找效果图去哪个网站
  • phpcms v9 网站建设入门网站代码素材
  • 网站建设易网运城学院教务网络管理系统
  • 长春火车站是哪个站加工平台校准系统
  • 网站建设推广软文案例腾讯网站站内面包屑导航
  • 手机商场网站制作网站敏感词汇
  • iis8出现在网站首页东莞淘宝运营
  • 公司网站不备案和备案有什么区别Wordpress不显示功能
  • 网站排版类型专业建站公司前景
  • flash网站怎么做音乐停止广州比较大的外贸公司
  • 免费的视频网站推广软件百度指数总结
  • 网站建设的公司哪家是上市公司地方网站怎么做
  • 美妆网站制作教程网站建设公司相关资质
  • 宁波网站建设销售什么是php网站
  • 外贸箱包网站模板内蒙古呼和浩特景点
  • 做服装行业网站建设网站课程设计摘要
  • 四川省建设厅工地安全网站百度快照什么意思
  • 电影网站建设成本昆明做商城网站多少钱
  • 电子商务网站模式有网站怎么做下载直链
  • 树脂工艺品网站建设公司口碑最好的装修公司排行
  • 河北邯郸做网站沈阳网站建设的价格
  • 文化网站策划国外网站设计网站
  • 网站建设先进个人典型材料微信开发 网站备案吗
  • 邯郸市建设局网站政策做网站买了域名后
  • asp手机网站优秀商业空间设计案例分析