91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python圖像處理之透視變換的示例分析

發布時間:2021-08-31 15:15:08 來源:億速云 閱讀:238 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“Python圖像處理之透視變換的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Python圖像處理之透視變換的示例分析”這篇文章吧。

    1 引言

    如果你想對圖像進行校準,那么透視變換是非常有效的變換手段。透視變換的定義為將圖像投影到一個新的視平面,通常也被稱之為投影映射。

    Python圖像處理之透視變換的示例分析

    2 公式

    一般來說,通用的圖像變換公式如下所示:

    Python圖像處理之透視變換的示例分析

    上述公式中,u,v代表原始圖像坐標,x,y為經過透視變換的圖片坐標,其中變換矩陣為3X3形式。進而可以得到:

    Python圖像處理之透視變換的示例分析

    3 舉例

    在介紹opencv的透視變換函數之前,我們舉例來講解該算法的原理:

    Python圖像處理之透視變換的示例分析

    直觀的來看,透視變換的作用就是將左側圖像的坐標點

    [[50,0],[150,0],[0,200],[200,200]]

    轉化為新的坐標

    [[0,0],[200,0],[0,200],[200,200]]

    通過計算我們知道,轉換矩陣如下:

    Python圖像處理之透視變換的示例分析

    我們來驗證一下,采用左上角的點(50,0)帶入公式,如下:

    Python圖像處理之透視變換的示例分析

    接著我們將列向量的前兩維度除以第三維執行歸一化:

    Python圖像處理之透視變換的示例分析

    所以我們知道原圖左上角點執行透視變換后的映射關系:

    Python圖像處理之透視變換的示例分析

    4 應用

    本文以撲克牌的例子來進行講解,樣例結果如下:

    Python圖像處理之透視變換的示例分析

    4.1 讀入圖像

    首先我們來讀入一副彩色圖像,如下:

    import cv2
    import numpy as np
    img = cv2.imread("image/sample.jpg")
    h, w, c = img.shape  # h=240  w=320

    4.2 挑選源圖四個點

    接著我們需要挑選四個點,我們這里采用左上,左下,右下和右上,下面的代碼把我們挑選的四個點畫到圖像上

    src_list = [(61, 70), (151, 217), (269, 143), (160, 29)]
    for i, pt in enumerate(src_list):
    	cv2.circle(img, pt, 5, (0, 0, 255), -1)
    	cv2.putText(img,str(i+1),(pt[0]+5,pt[1]+10),cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2)
    pts1 = np.float32(src_list)

    結果如下:

    Python圖像處理之透視變換的示例分析

    4.3 進行透視變換

    首先選擇四個目的圖像上的點,然后調用openv函數進行透視變換,代碼如下:

    pts2 = np.float32([[0, 0], [0, w - 2], [h - 2, w - 2], [h - 2, 0]])
    matrix = cv2.getPerspectiveTransform(pts1, pts2)
    result = cv2.warpPerspective(img, matrix, (h, w))
    cv2.imshow("Image", img)
    cv2.imshow("Perspective transformation", result)
    cv2.waitKey(0)

    得到結果如下:

    Python圖像處理之透視變換的示例分析

    5 應用

    我們在實際應用中,可以使用透視變換來替換廣告牌中對應的背景圖,結果如下:

    廣告牌:

    Python圖像處理之透視變換的示例分析

    Logo圖:

    Python圖像處理之透視變換的示例分析

    結果圖:

    Python圖像處理之透視變換的示例分析

    以上是“Python圖像處理之透視變換的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    卫辉市| 肃北| 成武县| 宜丰县| 鄱阳县| 兴义市| 炎陵县| 罗山县| 清水河县| 黔东| 电白县| 泊头市| 大田县| 思茅市| 石台县| 永春县| 肇庆市| 昭平县| 仁怀市| 会东县| 天柱县| 石阡县| 日照市| 新蔡县| 宁阳县| 鄂托克旗| 唐海县| 青冈县| 潞城市| 刚察县| 琼海市| 蚌埠市| 永德县| 招远市| 伊吾县| 云阳县| 肇源县| 青川县| 泽州县| 许昌市| 图木舒克市|