HALCON相機標定

相機標定簡介:

????????首先,相機會產生畸變,即實際圖像和拍攝圖像不一致,可以是凸性也可以是凹性形變,相機標定的過程就是將畸變圖像還原為原始圖像,并將圖像中的像素坐標轉換為世界坐標。

形如:相機內參 CameraParameters 和相機外參 CameraPose

CameraParameters := ['area_scan_division',0.000775057,-131550,6.66883e-07,6.67e-07,796.074,594.063,1600,1200]
CameraPose := [0.000732489,0.0324252,0.533711,359.244,357.29,0.365181,0]

1.標定板生成

用gen_caltab算子來制作一個標定板,具體見深入理解halcon相機標定_halcon標定-CSDN博客
gen_caltab( : : XNum, YNum, MarkDist, DiameterRatio, CalPlateDescr, CalPlatePSFile : )

2.標定板擺放

標定板數量9-16張為宜,標定板占標定圖像1/3到1/4,可以偏離標定板所在平面一定角度。

3.怎么用halcon進行相機內外參標定?

連接好相機后,打開相機驅動軟件看相機是否正確連接,再更改設置里的網絡和internet中IP4地址和掩碼為驅動軟件上顯示的相應內容。

?打開halcon窗口的image acquisition,自動檢測,連接設備,實時顯示圖像。

也可通過相機驅動軟件進行拍攝存儲,拍攝圖像存放置指定文件夾。

通過上述操作得到標定描述文件后,打開halcon的celarbation窗口:查詢相機所屬型號的焦距、像元。

進一步,選標定==>圖像文件==>加載存儲的圖像

?標志失敗原因:1)打光不好,過亮、過暗

? ? ? ? ? ? ? ? ? ? ? ? ? ?2)對焦不清晰

? ? ? ? ? ? ? ? ? ? ? ? ? ?3)標定板的對比度不夠(>128)

去除標志失敗點圖像,適當移除部分品質不好的圖像,選定方向較正的圖像作為參考位姿,點擊標定。

得到生成結果

進一步,代碼生成,

可在halcon代碼里看到生成的相機內外參數

示例代碼如下:

CameraParameters := ['area_scan_division',0.000733146,-131210,6.66914e-07,6.67e-07,794.794,595.823,1600,1200]
CameraPose := [0.00132212,0.0316434,0.504834,359.297,357.443,0.364191,0]read_image (Image, 'C:/ProgramData/Galaxy/userdata/top_camera/Pic_20250415192151821.bmp')rgb1_to_gray (Image, GrayImage)
threshold (GrayImage, Regions, 4, 100)
connection (Regions, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and',300,1000.5)
select_shape (SelectedRegions, SelectedRegions, 'column', 'and', 525.7, 960)
area_center (SelectedRegions, Area, Row, Column)at_colum := [Column[0],Column[1]]
at_row := [ Row[0],Row[1]]gen_contour_polygon_xld (Contour,at_row , at_colum)
image_points_to_world_plane (CameraParameters, CameraPose, at_row,at_colum, 'mm', X, Y)
x1 := X[0]
x2 := X[1]
y1 := Y[0]
y2 := Y[1]
distance_pp (x1, y1, x2, y2, Distance)
stop ()

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/85660.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/85660.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/85660.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Solidity 入門教程(二):值類型全解 —— 布爾、整數、地址與字節數組

在上一章中,我們寫下了第一個 Solidity 合約并在 Remix 中成功運行。本章我們將深入了解 Solidity 中的幾種常用值類型(Value Types),并通過示例代碼在 Remix 進行驗證。 一、Solidity 中的三種數據類型 在 Solidity 中&#xf…

16.大數據監控

0.說明 監控主要構成。 軟件版本。 1.exporter監控配置 1.1 node_exporter 啟動命令 nohup ./node_exporter &服務 創建文件 /etc/systemd/system/node_exporter.service: [Unit] DescriptionPrometheus Node Exporter Wantsnetwork-online.target Aft…

Tomcat項目本地部署(Servlet為例)

在Windows上部署 在idea中打開項目 首先我們需要準備一個Servlet項目,我之前的Servlet項目是用eclipse寫的,這種情況下如果用idea直接打開的話會出現左側目錄無法顯示的情況,這個時候我們就需要用別的方法打開 打開項目管理 如下圖&#…

安裝MySQL 5.7導入數據,修改密碼,創建賬號并授權

1. 準備工作 sudo yum update -y sudo yum install -y wget libaio numactl 2. 下載 MySQL 5.7 二進制包 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz 3. 創建 MySQL 用戶和組 sudo groupadd mysql sudo useradd -r -g m…

基礎RAG實現,最佳入門選擇(八)

RAG重排序 RAG重排序技術以提高RAG系統中的檢索質量。重新排序充當初始檢索后的第二個過濾步驟,以確保最相關的內容用于響應生成。 重排序的關鍵概念 1.初始檢索:使用基本相似度搜索的第一遍(準確度較低但速度更快) 2.文檔評分…

Spring Boot 常用注解整理

Spring & Spring Boot 常用注解整理 現代的 Spring 與 Spring Boot 應用大量使用注解來簡化配置、管理組件和實現各種框架功能。本文系統整理了常用的 Spring/Spring Boot 注解,按照功能分類進行介紹。每個注解都會涵蓋其含義、提供來源、應用場景以及代碼示例…

深入理解 Cross-Entropy 損失函數:從原理到實踐

在深度學習中,損失函數是衡量模型性能的關鍵指標之一。對于多分類問題,Cross-Entropy 損失函數 是最常用的選擇之一。它不僅能夠有效衡量模型輸出與真實標簽之間的差異,還能通過梯度下降法指導模型的優化。本文將深入探討 Cross-Entropy 損失…

Vim-vimrc保存文件自動移除行末尾空格

Vim-vimrc保存文件自動移除行末尾空格 這段代碼通過設置 autocmd 和自定義函數,確保每次保存文件時都自動刪除文件中的行尾空格,同時不會影響光標和視圖的位置。它適用于所有文件類型,并且刪除操作不會引入錯誤,即使沒有行尾空格的…

Occt幾何內核快速入門

本文簡單介紹 Open Cascade Technology(OCCT),提供了下載地址和文檔地址。通過OCCT的測試工具Draw,展示了OCCT的一些功能特性。介紹了OCCT集成開發的演示代碼,提供了源代碼下載地址和編譯過程文件。 一、簡介 Open C…

【Docker 08】Compose - 容器編排

🌈 一、Docker Compose 介紹 ? 1. Docker Compose 是什么 Docker Compose 是由 Docker 官方提供的一個用于定義和運行多容器應用的工具,它讓用戶可以通過一個 YAML 文件(通常是 docker-compose.yml)來配置應用所需要的服務&…

CentOS Stream 9平臺部署安裝MySQL8.4.1

1、在線下載安裝包 [rootlocalhost ~]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.4.1-1.el9.x86_64.rpm-bundle.tar 2、新建解壓文件夾 [rootlocalhost ~]#mkdir /root/sql 3、離線解壓安裝包安裝配置MySQL8 上傳安裝包到home下 [rootlocalhost ~]#c…

phpstorm無縫切換vscode

要將 PhpStorm 的開發體驗無縫遷移到 VS Code,需重點配置插件、快捷鍵和操作習慣。以下是詳細方案: 一、必備插件清單 安裝以下插件(VS Code 搜索安裝): PHP Intelephense:核心插件(代碼補全、…

雨聲_錦程_時年

1 炎涼 飄零于三界。 子銘師傅看了幾卷筆記,以為我文筆很好,于是我留在石銘公社。 我每日在公社會議廳,高地吹風,悠然筆記。 我喜歡四處旅行。 穿著鞘翅飛翔,風劃過耳邊。 我渴求所飲的每一滴水,追憶木履留…

微信小程序使用rsa 加解密

jsencrypt.min.js !function(t,e){"object"typeof exports&&"undefined"!typeof module?e(exports):"function"typeof define&&define.amd?define(["exports"],e):e(t.JSEncrypt{})}(this,function(t){"use s…

2025北郵軟件工程復習

文章目錄 廢話知識點總結Part1 軟件工程概述Part2 軟件需求分析需求介紹需求描述方法 Part3 軟件設計方法軟件設計的概念與原則軟件設計的方法 Part4 程序實現方法Part5 軟件測試方法白盒測試黑盒測試 練習題北郵2021~2022期末考北郵2018期末考 考后總結 廢話 update on 4.24&…

《Whisper模型版本及下載鏈接》

Whisper模型版本及下載鏈接 Whisper是OpenAI開發的語音識別模型,以下按模型規模從小到大排列,包含不同語言版本及通用版本: 1. Tiny系列(輕量級) tiny.en.pt(英文專用): https://…

AWS-SAA 第二部份:安全性和權限管理

我們來深入講解第二部分:安全性和權限管理,依然用通俗易懂的語言解釋。 核心服務 1:IAM(Identity and Access Management) 1. IAM 的核心概念 作用: IAM 是 AWS 的“門衛系統”,用來管理誰可以…

Linux 多種方式實現行轉列

目錄 一. 前提二. xargs 實現行轉列三. paste 實現行轉列四. sed 實現行轉列 一. 前提 ?之前在這下面篇文章中使用sed命令實現了行專列,本篇文章再介紹幾種更加簡單的方式。 Linux sed案例 👉 20231126-2.log 110120 SPLREQUEST 內容1 AAA memberID1…

Hadoop HDFS存儲機制與塊大小選擇權衡

一、HDFS塊存儲機制核心原理 1.1 邏輯塊 vs 物理存儲 HDFS中的 塊大小(block size) 是一個邏輯概念,而非物理預分配: #mermaid-svg-GzNjegjSgYrnlcme {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mer…

Unity Addressable使用之AddressableAssetSettings

AddressableAssetSettings 是 Unity Addressable Assets System 的核心配置文件 配置 Manage Groups 用來打開Addressables Groups窗口 Profiles配置 Profile In Use:可以在這選擇使用的是哪一套配置文件Manage Profiles:點擊它會打開Addressables Gr…