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

南京网站优化平台软件开发工程师需要什么证书

南京网站优化平台,软件开发工程师需要什么证书,平台的重要性,长沙网站制作公司在哪里一、问题背景 在工业自动化、材料加工等领域,常需要在图像识别的闭合区域内生成等间距的孔位坐标。本文基于OpenCV库,提出一种从图像边界提取到物理坐标生成的完整解决方案,实现以下核心功能: 像素坐标到实际尺寸的转换安全间距…

一、问题背景

在工业自动化、材料加工等领域,常需要在图像识别的闭合区域内生成等间距的孔位坐标。本文基于OpenCV库,提出一种从图像边界提取到物理坐标生成的完整解决方案,实现以下核心功能:

  1. 像素坐标到实际尺寸的转换
  2. 安全间距的孔位生成(孔与孔、孔与边界保持固定间距)
  3. 坐标系转换(图像左上角原点 → 笛卡尔坐标系中心原点)
  4. 标准化坐标文件输出

二、实现原理

1. 网格化生成算法

在区域的最小包围盒内生成等间距网格,筛选同时满足以下条件的点:

  • 位于闭合区域内部
  • 与边界保持至少一个孔间距的距离

2. 坐标转换公式

实现坐标系平移与Y轴翻转:

实际X = 像素X × 缩放系数 - 中心偏移X  
实际Y = 中心偏移Y - 像素Y × 缩放系数  

三、完整代码实现

import cv2
import numpy as npdef generate_holes(contour, img_width, img_height, scaling_factor, hole_spacing_actual):""" 生成符合间距要求的孔位坐标Args:contour: OpenCV提取的闭合轮廓img_width: 图像宽度(像素)img_height: 图像高度(像素)scaling_factor: 实际单位/像素(如0.1 mm/px)hole_spacing_actual: 实际孔间距(单位需与缩放系数一致)Returns:转换后的笛卡尔坐标列表"""# 计算像素间距hole_spacing_pixel = hole_spacing_actual / scaling_factor# 获取轮廓包围盒x_min, y_min, w, h = cv2.boundingRect(contour)# 生成网格坐标x_coords = np.arange(x_min, x_min + w + 1e-9, hole_spacing_pixel)y_coords = np.arange(y_min, y_min + h + 1e-9, hole_spacing_pixel)# 筛选有效点valid_points = []for x_p in x_coords:for y_p in y_coords:# 检测点是否在轮廓内且满足间距dist = cv2.pointPolygonTest(contour, (float(x_p), float(y_p)), True)if dist >= hole_spacing_pixel:valid_points.append((x_p, y_p))# 坐标系转换center_x = img_width * scaling_factor / 2center_y = img_height * scaling_factor / 2actual_points = []for (x_p, y_p) in valid_points:x_actual = x_p * scaling_factor - center_xy_actual = center_y - y_p * scaling_factor  # Y轴翻转actual_points.append((round(x_actual, 2), round(y_actual, 2)))return actual_pointsdef main():# ====== 参数配置 ======IMG_PATH = "sample.png"         # 输入图像路径SCALING_FACTOR = 0.1            # 实际单位/像素(例如:0.1 mm/px)HOLE_SPACING_ACTUAL = 10.0      # 实际孔间距(单位需与缩放系数一致)OUTPUT_FILE = "output.txt"      # 输出文件名# ====== 图像处理 ====== # 读取图像并提取轮廓img = cv2.imread(IMG_PATH, cv2.IMREAD_GRAYSCALE)_, thresh = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)# 获取主轮廓main_contour = max(contours, key=cv2.contourArea)# ====== 生成孔位 ======img_height, img_width = img.shape[:2]holes = generate_holes(main_contour, img_width, img_height, SCALING_FACTOR, HOLE_SPACING_ACTUAL)# ====== 结果输出 ======with open(OUTPUT_FILE, 'w') as f:f.write(f"{HOLE_SPACING_ACTUAL}\n")for point in holes:f.write(f"{point[0]},{point[1]}\n")print(f"生成完成,有效孔位数量:{len(holes)}")if __name__ == "__main__":main()

四、代码说明

1. 关键函数

  • generate_holes():核心处理函数,完成网格生成、边界检测和坐标转换
  • cv2.pointPolygonTest():OpenCV内置函数,检测点与轮廓的位置关系

2. 输入输出

  • 输入要求:二值化图像(背景为黑,目标区域为白)
  • 输出格式
    10.0          // 孔间距
    -35.5,20.3    // X,Y坐标
    -25.5,18.6
    ...           // 后续坐标点
    

3. 坐标系转换验证

原始图像坐标系(左上角原点)与转换后坐标系对比:

图像坐标(100,100) → 实际坐标( (100×0.1)-40, 30-(100×0.1) ) = (-30.0, 20.0)  
(假设图像尺寸800x600,缩放系数0.1 mm/px)

五、使用流程

  1. 准备二值化图像,确保目标区域为白色闭合轮廓
  2. 设置参数:SCALING_FACTOR(标定参数)、HOLE_SPACING_ACTUAL(工艺参数)
  3. 运行程序,生成包含物理坐标的文本文件

本方案将图像处理与几何计算相结合,为自动化加工系统提供可直接使用的坐标数据,适用于PCB钻孔、激光切割等多种工业场景。通过调整参数配置,可快速适配不同精度要求的工程项目。


文章转载自:

http://9G1PTLGs.mhLkc.cn
http://vxrxydgX.mhLkc.cn
http://g77sQ051.mhLkc.cn
http://GzpTYIOR.mhLkc.cn
http://nOlaKmd1.mhLkc.cn
http://U6ckDhbo.mhLkc.cn
http://x7Jhtjj6.mhLkc.cn
http://zJnuVfbh.mhLkc.cn
http://6Nrj6yl8.mhLkc.cn
http://Wh2PkSBd.mhLkc.cn
http://fP9UzANq.mhLkc.cn
http://nMWQYbex.mhLkc.cn
http://NsmAXsCl.mhLkc.cn
http://7lppDhmS.mhLkc.cn
http://YDkA7tgK.mhLkc.cn
http://eim8dKTh.mhLkc.cn
http://iNGU2B4k.mhLkc.cn
http://PP7DZNyj.mhLkc.cn
http://ADgJ4Ejb.mhLkc.cn
http://vdMGezG6.mhLkc.cn
http://u1mPbzGL.mhLkc.cn
http://Q8sbylIU.mhLkc.cn
http://QrVOXrt0.mhLkc.cn
http://rRAz6jdx.mhLkc.cn
http://ODU85ySz.mhLkc.cn
http://pjbp6Qw8.mhLkc.cn
http://tKM0xc88.mhLkc.cn
http://IIBzGCDM.mhLkc.cn
http://ABSvfAam.mhLkc.cn
http://LV2mDUFJ.mhLkc.cn
http://www.dtcms.com/wzjs/740091.html

相关文章:

  • 无锡网站建设要多少钱热门游戏推荐
  • 做网站要用什么软件教你如何快速建站
  • ps网站专题怎么做网站建设空间域名是什么意思
  • 网站入口专业微网站
  • 三门峡专业做网站公司做pc网站排
  • 网站空间租用续费服务合同做公司网站都需要什么
  • 网站规划与建设的案例分析郑州知名做网站公司有哪些
  • 南海建设局网站国内十大微信小程序开发公司
  • 百度 如何 关键字 网站域名 关联云建站平台哪家好
  • 北京城乡建设集团网站网页上的视频怎么下载
  • 企业网站备案流程深圳建筑工程
  • 响应式网站的制作工具wordpress 导入excel
  • 4网站建设哪里好点网站开发行情
  • seo网站建设价格找网站公司做网站的陷阱
  • 大连建站平台做网站分为哪些功能的网站
  • ps为什么做不了视频网站美发网站怎么做
  • 西安网站制作托广告投放数据分析
  • 科技资讯 哪个网站好南美洲网站后缀
  • 激光东莞网站建设wordpress知乎
  • 电子商城网站怎么做wordpress设置前台投稿
  • 网站的交互设计请将已备案网站接入访问
  • 网站建设环境分析公司为什么要建立网站
  • 东莞茶山网站建设企业战略管理咨询公司
  • 有没有做兼职的网站吗淘客推广网站怎么做
  • 网站运行与维护企业邮箱在哪里登陆
  • dedecms 音乐网站模板企业网站制作建设的框架有哪几种
  • 中国的搜索引擎有哪些江门seo排名优化
  • 网站开发有前景吗网站建设方案书备案
  • 万网上买了域名怎么建设网站wordpress标题超链接
  • 购物类网站都有哪些模块网站全是乱码