海康VisionMaster使用学习笔记9-畸变标定和畸变校正的使用

畸变标定和畸变校正

1. 功能和分类

在这里插入图片描述

2. 畸变标定

  1. 添加图像源

加载带有畸变的标定板图像

在这里插入图片描述

标定时标定板图像需尽量占满视野.

  1. 添加畸变标定

在这里插入图片描述

用于生成畸变标定文件

1. 运行参数

畸变类型: 此时标定板图像同时包含径向和透视,因此选择径向透视畸变.

标定板类型:棋盘格标定板

校正中心点:

    1. 透视畸变: 使用默认校正中心点即可,不需自行设置,默认坐标为(0,0)

    2. 径向,径向透视畸变: 校正中心点设置为图像中心时,校正效果最好.

    图像大小为2596*2048,设置校正中心点为(1298,1024)

在这里插入图片描述

点击执行,结果显示提取的角点.标定状态和标定误差.

- 中值滤波:使用默认值

2. 生成标定文件

点击生成标定文件,即可将文件保存在自定义路径.

在这里插入图片描述

3. 基本参数

更新文件打开,新一轮标定后会将结果更新到原文件中

在这里插入图片描述

3. 畸变校正

将流程命名为标定,添加新流程,命名为校正

在这里插入图片描述

  1. 添加图像源

  2. 添加畸变校正

在这里插入图片描述

  1. 基本参数

在这里插入图片描述

标定文件路径选择畸变标定生成的标定文件

  1. 运行参数

在这里插入图片描述

校正模式选择径向透视畸变

  1. 执行

在这里插入图片描述

可以看到,相对于原图,已完成畸变校正.

为了验证校正效果,检查图像四角棋盘格宽度是否一致

  1. 添加平行线查找

使用平行线查找测量棋盘格Y方向宽度

在这里插入图片描述

ROI区域绘制

选择图像左上角黑白格框选测量宽度

在这里插入图片描述

  1. 添加平行线查找测量X方向宽度

在这里插入图片描述

  1. 再添加两个平行线查找测量右下角棋盘格XY方向宽度

在这里插入图片描述

在这里插入图片描述

查看测量结果,左上角与右下角方格宽度相差1个像素内.
说明畸变校正效果良好.

4. 完整流程

在这里插入图片描述

在这里插入图片描述

5. 注意事项

在这里插入图片描述

在 Kubernetes (k8s) 中部署 StatefulSet 来实现 PostgreSQL 数据库的主从复制配置通常涉及以下几个步骤: 1. **创建 StatefulSet**: 使用 YAML 或者 JSON 配置文件,定义一个 StatefulSet 资源,指定应用名称、Pod 的数量、服务选择策略等。例如,可以使用 `postgresql-statefulset.yaml` 文件: ```yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: postgresql-cluster spec: replicas: 3 serviceName: postgresql-service selector: matchLabels: app: postgresql template: metadata: labels: app: postgresql spec: containers: - name: postgres image: postgres:latest env: - name: POSTGRES_USER valueFrom: secretKeyRef: name: postgres-secret key: user ports: - containerPort: 5432 ``` 这里假设有一个名为 `postgres-secret` 的 Secret 存储了数据库用户信息。 2. **持久化存储**: 因为主从复制需要持久化的卷来存储数据,StatefulSet 自带 VolumeClaimTemplate 来自动管理 PersistentVolumeClaim。添加下面的配置: ```yaml volumeClaimTemplates: - metadata: name: postgres-data spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 10Gi ``` 3. **初始化容器**: 容器启动时可能需要一些脚本来设置主从复制。这通常通过使用 InitContainer 或在 `postgresql.conf` 中配置 `wal_level = replica` 等来完成。例如: ```yaml initContainers: - name: setup-replication image: busybox command: ["sh", "-c", "echo &#39;wal_level = replica&#39; >> /etc/postgresql/<version>/main/postgresql.conf"] ``` 4. **主从复制配置**: 如果你已经在 Postgres 镜像中设置了默认配置,那么可以在 StatefulSet 中使用标签 `podAntiAffinity` 来保证 Master Slave Pod 分布在集群的不同部分。 ```yaml podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: - master topologyKey: kubernetes.io/hostname - labelSelector: matchExpressions: - key: app operator: In values: - slave topologyKey: kubernetes.io/hostname ``` 5. **滚动更新故障恢复**: StatefulSet 会确保在更新过程中只有一个实例处于不可用状态,这样可以避免数据丢失。当 Pod 出现故障时,它将自动重启,并且从备份恢复数据。 完成以上配置后,运行 `kubectl apply -f postgresql-statefulset.yaml` 将 StatefulSet 部署到 k8s 集群中。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值