免费网站创建医学网站建设方案

张小明 2026/1/8 15:22:17
免费网站创建,医学网站建设方案,一旦开战最危险的城市,网站 栏目 英语前言#xff1a;在计算机视觉领域#xff0c;相机标定是基础且关键的步骤#xff0c;其目的是获取相机的内参矩阵和畸变系数#xff0c;而棋盘格是最常用的标定模板。手动绘制棋盘格不仅繁琐#xff0c;还容易出现尺寸不精准、格子不规整等问题#xff0c;影响标定精度。…前言在计算机视觉领域相机标定是基础且关键的步骤其目的是获取相机的内参矩阵和畸变系数而棋盘格是最常用的标定模板。手动绘制棋盘格不仅繁琐还容易出现尺寸不精准、格子不规整等问题影响标定精度。本文将分享一个基于PythonOpenCV的棋盘格标定板生成工具支持自定义规格一键生成可直接打印的标定板新手也能轻松上手。一、工具核心功能默认生成A4尺寸棋盘格支持自定义纸张尺寸需少量修改代码可自由设置X/Y方向内角点数量、单个方格尺寸毫米支持自定义图片分辨率DPI保证打印清晰度自动居中绘制棋盘格添加边框生成后自动输出详细参数信息支持自定义输出路径未指定时自动保存到脚本所在目录二、环境准备本工具依赖两个核心Python库OpenCV用于图像处理和numpy用于数组运算安装命令如下pip install opencv-python numpy安装完成后可通过以下代码验证是否安装成功import cv2 import numpy as np print(OpenCV版本, cv2.__version__) print(numpy版本, np.__version__)import cv2 import numpy as np print(OpenCV版本, cv2.__version__) print(numpy版本, np.__version__)若未报错且正常输出版本号则环境配置完成。三、完整代码展示直接复制以下代码保存为create_a4_board.py文件即可使用#!/usr/bin/env python3 import cv2 import numpy as np import os import argparse from pathlib import Path def create_checkerboard(width_mm, height_mm, squares_x, squares_y, square_size_mm, dpi300, output_pathNone): 创建指定尺寸的棋盘格标定板 参数: width_mm: 纸张宽度毫米 height_mm: 纸张高度毫米 squares_x: X方向内角点数量 squares_y: Y方向内角点数量 square_size_mm: 每个方格的大小毫米 dpi: 输出图片的分辨率 output_path: 输出文件路径默认None自动生成 # 计算像素尺寸 width_pixels int(width_mm * dpi / 25.4) height_pixels int(height_mm * dpi / 25.4) square_size_pixels int(square_size_mm * dpi / 25.4) # 计算棋盘格的实际像素尺寸 board_width_pixels squares_x * square_size_pixels board_height_pixels squares_y * square_size_pixels # 计算棋盘格在图像中的居中位置 offset_x (width_pixels - board_width_pixels) // 2 offset_y (height_pixels - board_height_pixels) // 2 # 创建白色背景 image np.ones((height_pixels, width_pixels), dtypenp.uint8) * 255 # 绘制棋盘格 for i in range(squares_y): for j in range(squares_x): # 棋盘格起始颜色为黑色左上角 if (i j) % 2 0: # 计算每个方格的像素位置 x1 offset_x j * square_size_pixels y1 offset_y i * square_size_pixels x2 x1 square_size_pixels y2 y1 square_size_pixels # 确保不超出图像边界 x1 max(0, x1) y1 max(0, y1) x2 min(width_pixels, x2) y2 min(height_pixels, y2) # 填充黑色 image[y1:y2, x1:x2] 0 # 添加边框可选 border_size 1 if border_size 0: image[:border_size, :] 0 image[-border_size:, :] 0 image[:, :border_size] 0 image[:, -border_size:] 0 # 如果未指定输出路径自动生成 if output_path is None: # 获取脚本所在目录 script_dir os.path.dirname(os.path.abspath(__file__)) # 生成文件名 filename fa4_board.jpg output_path os.path.join(script_dir, filename) # 确保输出目录存在 os.makedirs(os.path.dirname(output_path), exist_okTrue) # 保存图像 cv2.imwrite(output_path, image) print(f\n棋盘格标定板生成完成) print(f规格: {squares_x}x{squares_y} 内角点 ({(squares_x1)}x{(squares_y1)} 方格)) print(f方格大小: {square_size_mm} mm) print(f纸张尺寸: {width_mm}x{height_mm} mm (A4)) print(f分辨率: {dpi} DPI) print(f图像尺寸: {width_pixels}x{height_pixels} 像素) print(f保存路径: {output_path}) print(f\n注意事项:) print(f1. 打印时请确保在打印设置中选择实际大小或100%缩放选项) print(f2. 建议使用高质量的打印机和纸张) print(f3. 打印后使用尺子测量方格大小进行验证) return image, output_path def main(): # 创建参数解析器 parser argparse.ArgumentParser(description生成A4大小的棋盘格标定板) # A4尺寸默认值毫米 a4_width_mm 210 a4_height_mm 297 # 添加命令行参数 parser.add_argument(--squares-x, typeint, default6, helpX方向内角点数量默认6) parser.add_argument(--squares-y, typeint, default9, helpY方向内角点数量默认9) parser.add_argument(--square-size, typeint, default25, help每个方格的大小毫米默认25) parser.add_argument(--dpi, typeint, default300, help输出图片的分辨率默认300 DPI) parser.add_argument(--output, typestr, defaultNone, help输出文件路径默认自动生成) # 解析参数 args parser.parse_args() # 打印程序信息 print(*60) print( 棋盘格标定板生成器 (A4尺寸) ) print(*60) # 创建棋盘格 create_checkerboard( width_mma4_width_mm, height_mma4_height_mm, squares_xargs.squares_x, squares_yargs.squares_y, square_size_mmargs.square_size, dpiargs.dpi, output_pathargs.output ) print(*60) if __name__ __main__: # 检查是否安装了OpenCV try: import cv2 except ImportError: print(错误: 未安装OpenCV库) print(请使用以下命令安装: pip install opencv-python numpy) exit(1) main()代码运行结果如下生成了一张棋盘格图片
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

电子商务网站建设核心个人主页网页设计作品欣赏

参考资料 国内 阿里百炼提示词指南智普AI提示词工程 国外 OpenAI提示词工程Claude提示词库Claude提示词工程指南Spring AI提示词指南 一、标准文生文提示词结构 专业、可复用的「文生文(Text → Text)提示词结构」,适用于 写作、总结、方…

张小明 2026/1/8 14:03:30 网站建设

宜昌 公司 网站建设百度sem推广

Langchain-Chatchat构建行业术语词典提升专业度 在医疗、法律、金融等高专业门槛的行业中,一个AI助手若把“心肌梗死”理解成“心情不好”,或将“无因管理”解释为“没人管的事情”,显然无法被接受。尽管当前大型语言模型(LLM&am…

张小明 2026/1/7 3:47:29 网站建设

室内设计知名网站重庆人才招聘网官网

Source Han Serif思源宋体完整指南:从零开始掌握开源中文字体 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 你是否曾经为寻找一款既美观又免费的中文字体而苦恼&#xff…

张小明 2026/1/7 3:46:56 网站建设

建设项目前期收费查询网站广州有什么好玩的地方是免费的

还在为无法保存B站精彩视频而烦恼吗?bilibili-downloader正是你需要的得力助手。这款开源下载工具能够轻松下载B站各类视频内容,包括大会员专属的4K超清画质,让你永久珍藏那些值得回味的视频资源。 【免费下载链接】bilibili-downloader B站视…

张小明 2026/1/7 3:46:24 网站建设

网站设计中的事件是什么WordPress会员中心模板

语音合成中的语体风格切换:正式、casual、幽默模式 在智能客服回答用户问题时用词严谨、语气克制,而同一系统若为儿童讲睡前故事却依然板着脸念稿——这种“人格分裂”式的体验,正是传统语音合成长期被诟病的痛点。人们早已不满足于“能说话”…

张小明 2026/1/7 3:45:20 网站建设