0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【每天學(xué)點(diǎn)AI】實(shí)戰(zhàn)仿射變換在人工智能圖像處理中的應(yīng)用

華清遠(yuǎn)見工控 ? 2025-02-07 16:06 ? 次閱讀

01 引言

想象一下,當(dāng)你拿起手機(jī)拍攝一張風(fēng)景照時,由于角度或設(shè)備本身的限制,照片可能會有點(diǎn)歪斜或者變形。這時候,你是否希望有一種方法可以簡單地“拉直”這張照片,讓它看起來更加完美?或者,在構(gòu)建虛擬現(xiàn)實(shí)(VR)和增強(qiáng)現(xiàn)實(shí)(AR)的世界時,如何讓虛擬的東西自然地融入真實(shí)環(huán)境中?這些都可以靠仿射變換實(shí)現(xiàn)。

仿射變換不僅限于修復(fù)和美化靜態(tài)圖像,它還廣泛應(yīng)用于計算機(jī)視覺、機(jī)器人導(dǎo)航、醫(yī)學(xué)影像分析等多個高科技領(lǐng)域。比如:

  • 計算機(jī)圖形學(xué):在計算機(jī)圖形學(xué)中,仿射變換用于圖像和模型的變換,如旋轉(zhuǎn)、縮放和傾斜,以實(shí)現(xiàn)更豐富的視覺效果。
  • 機(jī)器人技術(shù):在機(jī)器人技術(shù)中,仿射變換用于路徑規(guī)劃和運(yùn)動變換,幫助機(jī)器人在空間中導(dǎo)航。
  • 醫(yī)療成像:在醫(yī)療成像領(lǐng)域,仿射變換用于圖像配準(zhǔn),將不同時間或不同模態(tài)的圖像對齊,以便進(jìn)行比較、分析或融合。
  • 遙感圖像處理:在遙感圖像處理中,仿射變換用于對齊不同來源或不同時間拍攝的圖像,以便進(jìn)行比較、分析或融合。
  • 增強(qiáng)現(xiàn)實(shí):在增強(qiáng)現(xiàn)實(shí)技術(shù)中,仿射變換用于將虛擬圖像與現(xiàn)實(shí)世界對齊,以實(shí)現(xiàn)更加自然和無縫的交互體驗(yàn)。

02 概念解答

什么是仿射變換?

簡單來說,就像是把圖片或者圖形旋轉(zhuǎn)、拉伸、縮放和移動,但是有個特點(diǎn),就是它不會讓圖形的形狀變得奇奇怪怪,比如直線經(jīng)過仿射變換后還是直線,角度和平行關(guān)系也都保持不變。

想象一下,你有一張紙,上面畫著一些圖案。現(xiàn)在,你想把這些圖案換個方向,或者讓它們變大變小,或者把整個圖案挪到紙的另一個位置。仿射變換就是幫你實(shí)現(xiàn)這些變化的數(shù)學(xué)工具。它就像是一套規(guī)則,告訴你怎么通過一些簡單的操作,讓圖案按照你想要的方式變化,但不會扭曲圖案的形狀。

wKgZO2elvyKAYRGOAAizlQAoFVM915.png

接下來,我們以仿射變換中的“旋轉(zhuǎn)”為例,看一下具體的操作步驟。

03 操作步驟

打開華清遠(yuǎn)見人工智能虛擬仿真本地服務(wù)管理平臺,點(diǎn)擊啟動,服務(wù)啟動一次即可。

wKgaomdAS12ANc8wAAA-OKyHhQQ586.png

進(jìn)入到人工智能虛擬仿真系統(tǒng),單擊“圖像旋轉(zhuǎn)”,進(jìn)入實(shí)驗(yàn)。

wKgZO2elvyKAKF5eAAB-Bp250-U873.png

步驟一:圖片輸入

首先,導(dǎo)入一張原始圖片,可以用平臺默認(rèn)的預(yù)設(shè)圖片,也可以自定義輸入圖片。

步驟二:單點(diǎn)旋轉(zhuǎn)

這一步要操作的是

1.將旋轉(zhuǎn)點(diǎn)平移到原點(diǎn)。

2.應(yīng)用旋轉(zhuǎn)矩陣進(jìn)行旋轉(zhuǎn)。

3.將旋轉(zhuǎn)后的點(diǎn)移回原來的位置。

這樣可以將任意點(diǎn)的旋轉(zhuǎn)問題簡化為原點(diǎn)旋轉(zhuǎn)問題,便于計算。(具體的計算過程在人工智能在線實(shí)驗(yàn)平臺手冊中查看)

wKgZPGelvyKAPo8HAABUa_4o3FE275.png

步驟三:圖片旋轉(zhuǎn)

明白了單個點(diǎn)的旋轉(zhuǎn)過程之后,其實(shí)圖像旋轉(zhuǎn)也很好理解,就是將圖像里的每個像素點(diǎn)都帶入仿射變換矩陣?yán)?,從而得到旋轉(zhuǎn)后的新坐標(biāo)。在OpenCV中,要得到仿射變換矩陣可以使用cv2.getRotationMatrix2D(),通過這個函數(shù)即可直接獲取到上面的旋轉(zhuǎn)矩陣,該函數(shù)需要接收的參數(shù)為:

Center:表示旋轉(zhuǎn)的中心點(diǎn),是一個二維的坐標(biāo)點(diǎn)(x,y)

Angle:表示旋轉(zhuǎn)的角度

Scale:表示縮放比例,可以通過該參數(shù)調(diào)整圖像相對于原始圖像的大小變化

所以在這一步填入兩個參數(shù):即要給圖像旋轉(zhuǎn)的角度(angle)和要縮放的比例(scale),根據(jù)這兩個數(shù)據(jù),求出旋轉(zhuǎn)之后的坐標(biāo),就可以進(jìn)行整個圖像的旋轉(zhuǎn)。

wKgZO2elvyKAVKjGAABT3QC-Tg8472.png

這里可能會有一個問題,由于三角函數(shù)的值是小數(shù),那么其乘積也會是小數(shù),雖然OpenCV中會對其進(jìn)行取整操作,但是像素點(diǎn)旋轉(zhuǎn)之后的取整結(jié)果也有可能重合,這樣就會導(dǎo)致可能會在旋轉(zhuǎn)的過程中丟失-部分原始的像素信息。并且如果使用了scale參數(shù)進(jìn)行圖像的縮放的話,當(dāng)圖像放大時,比如一個10*10的圖像放大成20*20,圖像由100個像素點(diǎn)變成400個像素點(diǎn),那么多余的300個像素點(diǎn)是怎么來的?而當(dāng)圖像縮小時,比如一個20*20的圖像縮小為10*10的圖像,需要丟掉300個像素點(diǎn),那到底要怎么丟才能保證圖像還能是一個正常的圖像?因此我們需要一種方法來幫我們計算旋轉(zhuǎn)后的圖像中每一個像素點(diǎn)所對應(yīng)的像素值,從而保證圖像的完整性,這種方法就叫做插值法。

步驟四:插值方法

這一步可以看到平臺有五種插值方法:

  • 最近鄰插值:目標(biāo)像素點(diǎn)的像素值與對應(yīng)的原圖像像素值相同。
  • 雙線性插值:利用原圖中四個真實(shí)像素點(diǎn)的值來決定目標(biāo)圖中的一個像素點(diǎn)的值。
  • 像素區(qū)域插值:縮小圖像時取平均值,放大圖像時使用最近鄰或雙線性插值。
  • 雙三次插值:需要原圖像中近鄰的16個點(diǎn)來加權(quán)。
  • Lanczos插值:需要原圖像周圍的64個像素點(diǎn),使用不同的權(quán)重函數(shù)。
wKgZPGelvyKAK74kAACu2N8CrfE373.png

通過這幾種方式可以解決圖像縮放或者旋轉(zhuǎn)等操作時,由于像素之間的間隔不一致而導(dǎo)致的信息丟失和圖像質(zhì)量下降的問題。具體的每種方法計算方法,可在元宇宙實(shí)驗(yàn)平臺操作手冊中查看。

步驟五:邊緣填充

為什么要填充邊緣呢?

可以看到,左圖在逆時針旋轉(zhuǎn)45度之后原圖的四個頂點(diǎn)在右圖中已經(jīng)看不到了,同時,右圖的四個頂點(diǎn)區(qū)域其實(shí)是什么都沒有的,因此我們需要對空出來的區(qū)域進(jìn)行一個填充。右圖就是對空出來的區(qū)域進(jìn)行了像素值為(0,0,0)的填充,也就是黑色像素值的填充。除此之外,后續(xù)的一些圖像處理方式也會用到邊緣填充,平臺介紹了五個常用的邊緣填充方法。

  • 邊界復(fù)制:復(fù)制邊界像素值。
  • 邊界反射:根據(jù)原圖邊緣進(jìn)行反射。
  • 邊界反射101:反射邊緣像素點(diǎn),但方式不同。
  • 邊界常數(shù):填充指定的常數(shù)值,默認(rèn)為0。
  • 邊界包裹:特殊類型的邊界處理。
wKgZPGelvyKADQ9wAACw68SMdTs711.png

步驟六:圖片輸出

點(diǎn)擊驗(yàn)證,如顯示校驗(yàn)成功,即代表邏輯無誤,驗(yàn)證按鈕與校驗(yàn)成功界面如下圖所示。

wKgZO2elvyOAJL2vAAA_j4RqMhk229.png

點(diǎn)擊運(yùn)行,可以實(shí)現(xiàn)功能運(yùn)行,并顯示結(jié)果輸出。點(diǎn)擊某張圖片可放大查看效果。

以上就是一個完整的圖像旋轉(zhuǎn)操作過程,仿射變換中的圖像旋轉(zhuǎn)在圖像識別應(yīng)用場景中主要解決圖像因拍攝角度不同而導(dǎo)致的方向不一致問題,通過旋轉(zhuǎn)圖像使其與標(biāo)準(zhǔn)方向?qū)R,確保了識別算法能夠準(zhǔn)確地識別和分析圖像內(nèi)容,不受角度的影響,從而提高了識別系統(tǒng)的準(zhǔn)確性和魯棒性。

仿射變換不只是圖像處理中的一個關(guān)鍵技術(shù),它也是計算機(jī)視覺領(lǐng)域的重要組成部分。因此,如果你對圖像的幾何變換感興趣,想要深入了解其原理和應(yīng)用,我們的Python+圖像處理OpenCV課程就能幫到你。

我們的課程會帶你從基礎(chǔ)開始,學(xué)習(xí)如何用Python編程,怎么用OpenCV處理圖像,還會手把手帶你實(shí)戰(zhàn)OpenCV車牌識別項(xiàng)目。重要的是,我們的課程還提供元宇宙人工智能在線實(shí)驗(yàn)平臺,讓你能在一個模擬的環(huán)境中,邊學(xué)邊練,高效學(xué)習(xí)。自由探索,嘗試不同的算法,看看它們對圖像有什么影響,這對理解圖像增強(qiáng)的原理和應(yīng)用特別有幫助。

后臺私信雯雯老師,一起學(xué)習(xí)人工智能OpenCV~!

?5年時間打造,元宇宙人工智能在線實(shí)驗(yàn)平臺

?30天趣玩趣學(xué),算法原理+代碼實(shí)現(xiàn)+項(xiàng)目實(shí)戰(zhàn)

?200余講課程,邊學(xué)邊練,在線答疑

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 圖像處理
    +關(guān)注

    關(guān)注

    27

    文章

    1315

    瀏覽量

    57158
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    32504

    瀏覽量

    271711
  • 人工智能
    +關(guān)注

    關(guān)注

    1800

    文章

    48107

    瀏覽量

    242256
  • 仿射變換
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    5750
收藏 0人收藏

    評論

    相關(guān)推薦

    嵌入式人工智能的就業(yè)方向有哪些?

    。 國內(nèi)外科技巨頭紛紛爭先入局,微軟、谷歌、蘋果、臉書等積極布局人工智能的同時,國內(nèi)的BAT、華為、小米等科技公司也相繼切入到嵌入式人工智能的賽道。那么嵌入式AI可就業(yè)的方向有哪些呢
    發(fā)表于 02-26 10:17

    FPGA人工智能的應(yīng)用有哪些?

    FPGA(現(xiàn)場可編程門陣列)人工智能領(lǐng)域的應(yīng)用非常廣泛,主要體現(xiàn)在以下幾個方面: 一、深度學(xué)習(xí)加速 訓(xùn)練和推理過程加速:FPGA可以用來加速深度學(xué)習(xí)的訓(xùn)練和推理過程。由于其高并行性和低延遲特性
    發(fā)表于 07-29 17:05

    risc-v人工智能圖像處理應(yīng)用前景分析

    、RISC-V人工智能圖像處理的應(yīng)用案例 目前,已有多個案例展示了RISC-V
    發(fā)表于 09-28 11:00

    人工智能技術(shù)—AI

      人工智能技術(shù)的概念從出來到現(xiàn)在已經(jīng)有很多年的歷史了,其實(shí)所謂的人工智能技術(shù)本身就是一種模擬人類大腦的思考方式的一種技術(shù),它的英文簡稱是AI技術(shù),西方國家,
    發(fā)表于 10-21 12:03

    了解AI人工智能背后的科學(xué)?

    問題公司進(jìn)行密切合作。 進(jìn)行大規(guī)模AI項(xiàng)目實(shí)施之前進(jìn)行小規(guī)模的試水,那么這個選項(xiàng)是非常好的。 隨著時間的推移,人工智能可以成為您業(yè)務(wù)戰(zhàn)略的一個組成部分,因此你需考慮找到一種更具成本效益的方法,而不需要
    發(fā)表于 09-25 10:03

    人工智能的就業(yè)方向詳解

    的人才需求的公司如威盛、松下、索尼、三星等。鑒于AI方向的人才都是高科技型的,待遇方面自然相對比較豐厚,所以很這個方向很有發(fā)展前途。如果您看好人工智能,或者對人工智能感興趣,可以到老
    發(fā)表于 04-24 15:25

    人工智能AI經(jīng)典入門書

    人工智能AI經(jīng)典入門書,很難找的噢,給喜歡的朋友
    發(fā)表于 09-12 17:13

    初學(xué)AI人工智能需要哪些技術(shù)?這幾本書為你解答

    新的能以人類智能相似的方式做出反應(yīng)的智能機(jī)器,該領(lǐng)域的研究包括機(jī)器人、語言識別、圖像識別、自然語言處理和專家系統(tǒng)等。人工智能從誕生以來,理論
    發(fā)表于 01-21 14:26

    人工智能:超越炒作

    產(chǎn)生影響時作為一門數(shù)學(xué)學(xué)科 - 某種程度上,哲學(xué) - 人工智能生活在陰影已有六十多年,之后公共利益在此期間突然飆升。當(dāng)前宣傳的一個原因是,長期以來,人工智能應(yīng)用的考慮純粹是理論上的
    發(fā)表于 05-29 10:46

    人工智能——MATLAB圖像處理及機(jī)器學(xué)習(xí)

    視覺、通訊、計算金融學(xué)、控制設(shè)計、機(jī)器人學(xué)等等。 為了幫助大家更好的學(xué)習(xí)機(jī)器學(xué)習(xí)和圖像處理,我們上線了《人工智能—MATLAB圖像處理及機(jī)器
    發(fā)表于 07-01 15:05

    史上最全AI人工智能入門+進(jìn)階學(xué)習(xí)視頻全集(200G)【免費(fèi)領(lǐng)取】

    、神經(jīng)系統(tǒng)網(wǎng)絡(luò)與深度學(xué)習(xí),AI場景應(yīng)用和項(xiàng)目實(shí)戰(zhàn)等知識,活動期間,小編為大家精心準(zhǔn)備了一份AI人工智能入門學(xué)習(xí)資料,超過200G+經(jīng)典的入門+初中級+高級全階學(xué)習(xí)視頻,課程由淺入深、通
    發(fā)表于 11-27 12:10

    人工智能ai論文

    人工智能ai論文
    發(fā)表于 07-28 08:39

    人工智能AI芯片到底怎么用

    什么是人工智能AI)芯片?AI芯片的主要用處有哪些?AI任務(wù)
    發(fā)表于 09-22 08:00

    《移動終端人工智能技術(shù)與應(yīng)用開發(fā)》人工智能的發(fā)展與AI技術(shù)的進(jìn)步

    實(shí)際生活接觸的移動端AI的應(yīng)用主要體現(xiàn)在圖像領(lǐng)域:智能拍照,人臉識別,文字識別,圖片和視頻的智能處理
    發(fā)表于 02-17 11:00

    每天學(xué)點(diǎn)AI實(shí)戰(zhàn)圖像增強(qiáng)技術(shù)人工智能圖像處理的應(yīng)用

    圖像增強(qiáng)(ImageEnhancement)是人工智能和計算機(jī)視覺中一項(xiàng)重要的技術(shù),也是人工智能數(shù)據(jù)集預(yù)處理的一個重要步驟。它旨在提高圖像
    的頭像 發(fā)表于 11-22 17:14 ?1017次閱讀
    【<b class='flag-5'>每天</b><b class='flag-5'>學(xué)點(diǎn)</b><b class='flag-5'>AI</b>】<b class='flag-5'>實(shí)戰(zhàn)</b><b class='flag-5'>圖像</b>增強(qiáng)技術(shù)<b class='flag-5'>在</b><b class='flag-5'>人工智能</b><b class='flag-5'>圖像</b><b class='flag-5'>處理</b><b class='flag-5'>中</b>的應(yīng)用