婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > Python圖像處理之透視變換的實(shí)戰(zhàn)應(yīng)用

Python圖像處理之透視變換的實(shí)戰(zhàn)應(yīng)用

熱門標(biāo)簽:B52系統(tǒng)電梯外呼顯示E7 萊蕪電信外呼系統(tǒng) 怎么辦理400客服電話 銀川電話機(jī)器人電話 地圖標(biāo)注多個(gè) 鶴壁手機(jī)自動(dòng)外呼系統(tǒng)違法嗎 企業(yè)微信地圖標(biāo)注 高德地圖標(biāo)注收入咋樣 沈陽(yáng)防封電銷電話卡

1 引言

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

2 公式

一般來(lái)說(shuō),通用的圖像變換公式如下所示:


上述公式中,u,v代表原始圖像坐標(biāo),x,y為經(jīng)過(guò)透視變換的圖片坐標(biāo),其中變換矩陣為3X3形式。進(jìn)而可以得到:

3 舉例

在介紹opencv的透視變換函數(shù)之前,我們舉例來(lái)講解該算法的原理:


直觀的來(lái)看,透視變換的作用就是將左側(cè)圖像的坐標(biāo)點(diǎn)

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

轉(zhuǎn)化為新的坐標(biāo)

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

通過(guò)計(jì)算我們知道,轉(zhuǎn)換矩陣如下:


我們來(lái)驗(yàn)證一下,采用左上角的點(diǎn)(50,0)帶入公式,如下:

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


所以我們知道原圖左上角點(diǎn)執(zhí)行透視變換后的映射關(guān)系:

4 應(yīng)用

本文以撲克牌的例子來(lái)進(jìn)行講解,樣例結(jié)果如下:

4.1 讀入圖像

首先我們來(lái)讀入一副彩色圖像,如下:

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

4.2 挑選源圖四個(gè)點(diǎn)

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

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)

結(jié)果如下:

4.3 進(jìn)行透視變換

首先選擇四個(gè)目的圖像上的點(diǎn),然后調(diào)用openv函數(shù)進(jìn)行透視變換,代碼如下:

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)

得到結(jié)果如下:

5 應(yīng)用

我們?cè)趯?shí)際應(yīng)用中,可以使用透視變換來(lái)替換廣告牌中對(duì)應(yīng)的背景圖,結(jié)果如下:

廣告牌:


Logo圖:


結(jié)果圖:

6 總結(jié)

本文介紹了圖像處理透視變換的原理和具體代碼實(shí)現(xiàn),并給出了具體應(yīng)用示例。

到此這篇關(guān)于Python圖像處理之透視變換的文章就介紹到這了,更多相關(guān)Python圖像透視變換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

7 參考

參考 鏈接一 鏈接二

您可能感興趣的文章:
  • Opencv-Python圖像透視變換cv2.warpPerspective的示例
  • python opencv實(shí)現(xiàn)任意角度的透視變換實(shí)例代碼
  • python實(shí)現(xiàn)圖片處理和特征提取詳解

標(biāo)簽:烏魯木齊 安慶 銀川 湘西 呼倫貝爾 葫蘆島 呼倫貝爾 三亞

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python圖像處理之透視變換的實(shí)戰(zhàn)應(yīng)用》,本文關(guān)鍵詞  Python,圖像處理,之,透視,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python圖像處理之透視變換的實(shí)戰(zhàn)應(yīng)用》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Python圖像處理之透視變換的實(shí)戰(zhàn)應(yīng)用的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 家居| 怀远县| 始兴县| 大港区| 云安县| 石泉县| 原阳县| 佛冈县| 佳木斯市| 成武县| 栾城县| 闻喜县| 广安市| 乐至县| 蓬溪县| 长泰县| 石城县| 龙里县| 富宁县| 抚松县| 周至县| 潍坊市| 东海县| 沈阳市| 万全县| 金坛市| 翁牛特旗| 如皋市| 武平县| 阿克苏市| 长沙县| 青神县| 辽宁省| 乌鲁木齐市| 濉溪县| 滕州市| 济南市| 浦东新区| 陆河县| 金塔县| 花莲县|