cv2.getPerspectiveTransform パースペクティブ変換
2022-03-01 10:17:30
<スパン
はじめに
透視変換とは、画像を新しい表示平面に投影することであり、Projection Mappingとも呼ばれる。図1のように、透視変換ABCはA'B'C'に変換されます。
<スパン
機能プロトタイプ
1 cv2.getPerspectiveTransform(src, dst) → retval
パラメータの説明
-
src: ソース画像内の計測したい矩形の4点の座標
-
sdt: ターゲット画像における矩形の4点座標
ソース画像中の矩形からターゲット画像中の矩形への変換行列を返します.
行列を取得するために役に立つ必要があります
ということは、次のような関数が導かれる。
1 cv2.warpPerspective(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]]) → dst
パラメータは
-
src: 入力画像
-
M: 変換行列
-
dsize: ターゲット画像の形状
-
flags: 補間方法, 補間方法 INTER_LINEAR または INTER_NEAREST
-
borderMode: ボーダー補正方法、BORDER_CONSTANT または BORDER_REPLICATE
-
borderValue: ボーダー補正の大きさ、定数、デフォルトは0
または
1 cv2.perspectiveTransform(src, m[, dst]) → dst
パラメータの説明
-
src: 入力された2チャンネルまたは3チャンネルの画像
-
m: 変換行列
返される画像は同じサイズです
区別
<強い
warpPerspectiveは画像に適用される。 perspectiveTransformは点の集合に適用される。
<スパン
を使用します。
1 import cv2 as cv
2 import numpy as np
3 img = cv.imread("test/scene2.png",0)
4 w,h = img.shape
5 point1 = np.array([[308,230],[500,230],[308,640],[500,640]],dtype = "float32")
6 point2 = np.array([[308,230],[500,230],[155,30],[835,30]],dtype = "float32")
7 M = cv.getPerspectiveTransform(point1,point2)
8 out_img = cv.warpPerspective(img,M,(w,h))
9 cv.imshow("img",out_img)
10 cv.waitKey(0)
取得元:https://www.cnblogs.com/aoru45/p/9763983.html
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例