国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

opencv圖像畸變矯正:源碼學(xué)習(xí)

這篇具有很好參考價(jià)值的文章主要介紹了opencv圖像畸變矯正:源碼學(xué)習(xí)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

參考資料:相機(jī)標(biāo)定(4) 矯正畸變 undistort()和initUndistortRectifyMap()

背景:opencv提供了直接進(jìn)行畸變矯正的代碼,因在項(xiàng)目中需要使用畸變矯正,因此研究一下opencv中畸變矯正的相關(guān)接口與代碼,便于學(xué)習(xí)提升與二次開(kāi)發(fā)。

1、畸變矯正原理

opencv在文檔中對(duì)相機(jī)標(biāo)定與畸變矯正的原理做了簡(jiǎn)單介紹,可參考鏈接:opencv的標(biāo)定與3d重建模塊文檔鏈接,此外網(wǎng)上也有較多的內(nèi)容對(duì)畸變矯正原理進(jìn)行了講解,因此本文在此不做詳細(xì)介紹。

opencv畸變矯正,圖像處理,數(shù)碼相機(jī),計(jì)算機(jī)視覺(jué),opencv

?2、opencv提供的畸變矯正接口

opencv提供了可以直接使用的矯正算法,即通過(guò)cv::calibrateCamera?得到內(nèi)參與畸變系數(shù),然后使用cv::undistort?函數(shù)一次性完成圖像的畸變矯正;也可以通過(guò)initUndistortRectifyMap()和remap()的組合來(lái)處理。

1)initUndistortRectifyMap()

void cv::initUndistortRectifyMap	(	InputArray 	cameraMatrix,
                                        InputArray 	distCoeffs,
                                        InputArray 	R,
                                        InputArray 	newCameraMatrix,
                                        Size 	size,
                                        int 	m1type,
                                        OutputArray 	map1,
                                        OutputArray 	map2 
                                    )	
  • cameraMatrix:相機(jī)矩陣,包含相機(jī)的內(nèi)部參數(shù)(焦距、光心等)。
  • distCoeffs:畸變系數(shù),用于描述相機(jī)的畸變情況(徑向畸變和切向畸變)。
  • R:校正變換矩陣,用于將輸入圖像校正為校正后的輸出圖像。
  • newCameraMatrix:校正后的相機(jī)矩陣,可以自定義或者使用校正變換矩陣生成。
  • size:輸出圖像的尺寸。
  • m1type:輸出映射表map1的數(shù)據(jù)類(lèi)型。
  • map1map2:輸出的映射表,存儲(chǔ)輸入圖像到輸出圖像的像素坐標(biāo)映射關(guān)系。

作用說(shuō)明:函數(shù)的作用是根據(jù)相機(jī)的內(nèi)部參數(shù)、畸變系數(shù)、校正變換矩陣和輸出圖像的尺寸等信息,計(jì)算出一個(gè)映射表,其中包含了每個(gè)輸入圖像像素對(duì)應(yīng)的輸出圖像位置。通過(guò)這個(gè)映射表,可以將輸入圖像中的像素根據(jù)校正后的映射關(guān)系重構(gòu)成校正后的輸出圖像,從而實(shí)現(xiàn)相機(jī)畸變的校正。

2)remap()

cv::remap是重映射函數(shù),通常用來(lái)糾正校準(zhǔn)的立體圖像。參考:OpenCV圖像處理——重映射 remap函數(shù)

3)cv::undistort

void cv::undistort	(	InputArray 	src,
                    OutputArray 	dst,
                    InputArray 	cameraMatrix,
                    InputArray 	distCoeffs,
                    InputArray 	newCameraMatrix = noArray() 
                    )	
  • src:輸入圖像,可以是單通道或多通道的圖像。
  • dst:輸出圖像,校正后的圖像將存儲(chǔ)在此處。
  • cameraMatrix:相機(jī)矩陣,包含相機(jī)的內(nèi)部參數(shù)(焦距、光心等)。
  • distCoeffs:畸變系數(shù),用于描述相機(jī)的畸變情況(徑向畸變和切向畸變)。
  • newCameraMatrix:校正后的相機(jī)矩陣,可以自定義或者使用默認(rèn)值noArray()。如果指定了新的相機(jī)矩陣,函數(shù)將根據(jù)新相機(jī)矩陣對(duì)圖像進(jìn)行校正;否則,將使用原始相機(jī)矩陣進(jìn)行校正。

作用說(shuō)明:函數(shù)的作用是根據(jù)提供的相機(jī)參數(shù),對(duì)輸入圖像直接進(jìn)行相機(jī)畸變校正。

4)cv::undistortPoints
?

上面介紹的都是對(duì)整張圖像進(jìn)行畸變矯正,這樣子實(shí)際上是比較慢的,我在項(xiàng)目中實(shí)際遇到的也是對(duì)幾個(gè)像素點(diǎn)的畸變矯正,經(jīng)過(guò)查找發(fā)現(xiàn)有這個(gè)函數(shù)。

void cv::undistortPoints	(	InputArray 	src,
                            OutputArray 	dst,
                            InputArray 	cameraMatrix,
                            InputArray 	distCoeffs,
                            InputArray 	R = noArray(),
                            InputArray 	P = noArray() 
                            )	
  • src:輸入的像素點(diǎn)坐標(biāo),可以是一個(gè)N x 11 x N的矩陣,表示N個(gè)像素點(diǎn)。
  • dst:輸出的校正后的像素點(diǎn)坐標(biāo),校正后的像素點(diǎn)將存儲(chǔ)在此處,與輸入矩陣具有相同的維度和類(lèi)型。
  • cameraMatrix:相機(jī)矩陣,包含相機(jī)的內(nèi)部參數(shù)(焦距、光心等)。
  • distCoeffs:畸變系數(shù),用于描述相機(jī)的畸變情況(徑向畸變和切向畸變)。
  • R:旋轉(zhuǎn)矩陣,可選參數(shù),默認(rèn)值為noArray()。如果指定了旋轉(zhuǎn)矩陣,函數(shù)將根據(jù)旋轉(zhuǎn)矩陣對(duì)像素點(diǎn)進(jìn)行校正;否則,將不考慮旋轉(zhuǎn)變換。
  • P:投影矩陣,可選參數(shù),默認(rèn)值為noArray()。如果指定了投影矩陣,函數(shù)將根據(jù)投影矩陣對(duì)像素點(diǎn)進(jìn)行校正;否則,將不考慮投影變換。

3、源碼學(xué)習(xí)

先休息了,明天接著寫(xiě)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-693924.html

到了這里,關(guān)于opencv圖像畸變矯正:源碼學(xué)習(xí)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • OpenCvSharp (C# OpenCV) 二維碼畸變矯正--基于透視變換(附源碼)

    ? ? 本文主要介紹如何使用OpenCvSharp中的透視變換來(lái)實(shí)現(xiàn)二維碼的畸變矯正。 ? ? 由于CSDN文章中貼二維碼會(huì)導(dǎo)致顯示失敗,大家可以直接點(diǎn)下面鏈接查看圖片: ? ??C# OpenCV實(shí)現(xiàn)二維碼畸變矯正--基于透視變換 (詳細(xì)步驟 + 代碼) ? ? ?講解實(shí)現(xiàn)步驟之前先看下效果(左邊是原圖

    2024年02月15日
    瀏覽(32)
  • OpenCV開(kāi)發(fā)筆記(七十七):相機(jī)標(biāo)定(二):通過(guò)棋盤(pán)標(biāo)定計(jì)算相機(jī)內(nèi)參矩陣矯正畸變攝像頭圖像

    OpenCV開(kāi)發(fā)筆記(七十七):相機(jī)標(biāo)定(二):通過(guò)棋盤(pán)標(biāo)定計(jì)算相機(jī)內(nèi)參矩陣矯正畸變攝像頭圖像

    若該文為原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明原文出處 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/136616551 各位讀者,知識(shí)無(wú)窮而人力有窮,要么改需求,要么找專(zhuān)業(yè)人士,要么自己研究 紅胖子(紅模仿)的博文大全:開(kāi)發(fā)技術(shù)集合(包含Qt實(shí)用技術(shù)、樹(shù)莓派、三維、OpenCV、OpenGL、

    2024年03月13日
    瀏覽(33)
  • K210入門(mén)使用處理圖像畸變方法

    K210入門(mén)使用處理圖像畸變方法

    ???????在嵌入式開(kāi)發(fā)中通常會(huì)使用到視覺(jué)方面的硬件做圖像識(shí)別, 經(jīng)常使用的小型嵌入式圖像識(shí)別硬件有個(gè)K210,Openmv等,這里介紹的是K210這款可編程機(jī)器視覺(jué)硬件,它支持一系列廣泛的圖像處理和神經(jīng)網(wǎng)絡(luò),其最突出的優(yōu)點(diǎn)是它的算力可以達(dá)到1TOPS算力,連我們的樹(shù)莓派

    2024年02月15日
    瀏覽(32)
  • OpenCv.js(圖像處理)學(xué)習(xí)歷程

    OpenCv.js(圖像處理)學(xué)習(xí)歷程

    opencv.js官網(wǎng) 以下內(nèi)容整理于opencv.js官網(wǎng)。 OpenCV由Gary Bradski于1999年在英特爾創(chuàng)建。第一次發(fā)行是在2000年。OpenCV支持c++、Python、Java等多種編程語(yǔ)言,支持Windows、Linux、Os X、Android、iOS等平臺(tái)?;贑UDA和OpenCL的高速GPU操作接口也在積極開(kāi)發(fā)中。OpenCV.js將OpenCV帶到開(kāi)放的web平臺(tái),

    2024年02月14日
    瀏覽(24)
  • OpenCV圖像處理學(xué)習(xí)十,圖像的形態(tài)學(xué)操作——膨脹腐蝕

    OpenCV圖像處理學(xué)習(xí)十,圖像的形態(tài)學(xué)操作——膨脹腐蝕

    一.形態(tài)學(xué)操作概念 圖像形態(tài)學(xué)操作是指基于形狀的一系列圖像處理操作的合集,主要是基于集合論基礎(chǔ)上的形態(tài)學(xué)數(shù)學(xué)對(duì)圖像進(jìn)行處理。 形態(tài)學(xué)有四個(gè)基本操作:腐蝕、膨脹、開(kāi)操作、閉操作,膨脹與腐蝕是圖像處理中最常用的形態(tài)學(xué)操作手段。 二.形態(tài)學(xué)操作-膨脹 跟卷積

    2024年02月05日
    瀏覽(24)
  • 1、opencv相機(jī)畸變矯正

    1、opencv相機(jī)畸變矯正

    2.1保存矩陣 2.1直接使用保存的矩陣

    2024年02月11日
    瀏覽(30)
  • OpenCV實(shí)戰(zhàn):從圖像處理到深度學(xué)習(xí)的全面指南

    OpenCV實(shí)戰(zhàn):從圖像處理到深度學(xué)習(xí)的全面指南

    本文深入淺出地探討了OpenCV庫(kù)在圖像處理和深度學(xué)習(xí)中的應(yīng)用。從基本概念和操作,到復(fù)雜的圖像變換和深度學(xué)習(xí)模型的使用,文章以詳盡的代碼和解釋?zhuān)瑤ьI(lǐng)大家步入OpenCV的實(shí)戰(zhàn)世界。 OpenCV(Open Source Computer Vision Library)是一個(gè)開(kāi)源的計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù)。它由一

    2024年02月14日
    瀏覽(17)
  • opencv對(duì)相機(jī)進(jìn)行畸變矯正,及矯正前后的坐標(biāo)對(duì)應(yīng)

    opencv對(duì)相機(jī)進(jìn)行畸變矯正,及矯正前后的坐標(biāo)對(duì)應(yīng)

    目前有個(gè)項(xiàng)目,需要用到熱成像相機(jī)。但是這個(gè)熱成像相機(jī)它的畸變比較厲害,因此需要用標(biāo)定板進(jìn)行標(biāo)定,從而消除鏡頭畸變。 同時(shí)需要實(shí)現(xiàn)用戶(hù)用鼠標(biāo)點(diǎn)擊校正后的畫(huà)面后,顯示用戶(hù)點(diǎn)擊位置的像素所代表的溫度。 另外熱成像sdk中還有個(gè)功能:選定一個(gè)rect,可以返回這

    2024年02月15日
    瀏覽(21)
  • ROS學(xué)習(xí)筆記15:ROS與OpenCV結(jié)合處理圖像

    ROS學(xué)習(xí)筆記15:ROS與OpenCV結(jié)合處理圖像

    ??安裝OpenCV sudo apt-get install ros-kinetic-vision-opencv libopencv-dev python-opencv ??ROS進(jìn)行圖像處理是依賴(lài)于OpenCV庫(kù)的。ROS通過(guò)一個(gè)叫CvBridge的功能包,將獲取的圖像數(shù)據(jù)轉(zhuǎn)換成OpenCV的格式,OpenCV處理之后,傳回給ROS進(jìn)行圖像顯示(應(yīng)用),如下圖: ??我們使用ROS驅(qū)動(dòng)獲取攝像頭數(shù)

    2024年02月05日
    瀏覽(35)
  • 深度學(xué)習(xí)圖像處理基礎(chǔ)工具——opencv 實(shí)戰(zhàn)信用卡數(shù)字識(shí)別

    深度學(xué)習(xí)圖像處理基礎(chǔ)工具——opencv 實(shí)戰(zhàn)信用卡數(shù)字識(shí)別

    任務(wù) 信用卡數(shù)字識(shí)別 穿插之前學(xué)的知識(shí)點(diǎn)? 形態(tài)學(xué)操作 模板匹配 等 總體流程與方法 1.有一個(gè)模板 2 用輪廓檢測(cè)把模板中數(shù)字拿出來(lái) 外接矩形(模板和輸入圖像的大小要一致 )3 一系列預(yù)處理操作 問(wèn)題的解決思路 1.分析準(zhǔn)備:準(zhǔn)備模板,讀取文件——轉(zhuǎn)化為灰度圖——轉(zhuǎn)化

    2024年04月15日
    瀏覽(96)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包