の行に垂直な線を描きます。
交差点点の輪郭線と線特定の距離までの線と輪郭の交点に垂線を描きたい。
私は交差点ポイントと同様にの斜線を知っています。
参考のためにこの画像を添付しています。 私はより良い私は<strong>輪郭</strong>とその輪郭を通過している<strong>ライン</strong>を持っている画像</p> <p>と私の問題を説明OpenCVの
8
A
答えて
6
あなたの写真の青い線は、A地点からB地点まで行き、あなたはB点の赤い線を描きたい場合は、次の操作を実行できます
- は行く方向ベクトルを取得します。 Bにこれは次のようになります
v.x = B.x - A.x; v.y = B.y - A.y;
- ベクトルを正規化:
mag = sqrt (v.x*v.x + v.y*v.y); v.x = v.x/mag; v.y = v.y/mag;
- は、xとyを交換し、そのうちの一つを反転させることによってベクトルを90度回転させます。回転方向についての注意:OpenCVと一般的な画像処理では、画像上のx軸とy軸はユークリッド的な方向を向いていません。特に、y軸は下向きで上向きではありません。ユークリッドでは、最後のx(最初のy)を反時計回り(ユークリッドの標準)に反転し、yを反転すると時計回りに回転します。 OpenCVでは逆です。 Vの方向に向いてBに新しい行を作成します
temp = v.x; v.x = -v.y; v.y = temp;
- :
C.x = B.x + v.x * length; C.y = B.y + v.y * length;
(あなたはそれが逆に点Dを作成することにより、両方向に延長させることもできますので、例えばOpenCVのでは時計回りの回転を取得します。単に長さを否定することによって方向)
1
これは、関数の私のバージョンです:
def getPerpCoord(aX, aY, bX, bY, length):
vX = bX-aX
vY = bY-aY
#print(str(vX)+" "+str(vY))
if(vX == 0 or vY == 0):
return 0, 0, 0, 0
mag = math.sqrt(vX*vX + vY*vY)
vX = vX/mag
vY = vY/mag
temp = vX
vX = 0-vY
vY = temp
cX = bX + vX * length
cY = bY + vY * length
dX = bX - vX * length
dY = bY - vY * length
return int(cX), int(cY), int(dX), int(dY)
+0
あなたは削除できます'if(vX == 0またはvY == 0):return 0、0、0、0'を返します。その場合、コードはうまく動作します。とにかく、これを投稿していただきありがとうございます! – krookedking
+0
私はエラーがあったので、 "if ..." – CofeDrink68
関連する問題
- 1. アニメーションは、私はに基づいてmatplotlibの中に輪郭1.1.0</p> <p>をアニメーション化しようとしています
- 2. トップナビゲーションバーには、これは私が私のコードで<strong>3の問題を</strong>持っ</p> <p>:(私はナット運転している
- 3. 私は<code>presentation</code>テーブルを持っている
- 4. 私は<strong>Androidのメーカー</strong>に<strong>SearchView</strong>を使用しようとすると、私は問題を抱えているSearchView
- 5. 301リダイレクトnginxのフォルダの内容を、私はそれで、画像の負荷にフォルダ...</p> <p>/資産/画像/</p> <p>を持っている...と私は持っているし、それを変更した
- 6. (1u << x << y)はどういう意味ですか?私は問題を抱えている
- 7. グループ連続は私が持っているクラスを持っている<code>List<DateTime> dates;</code></p> <p>を持って
- 8. GetCommandLineArgs私は麺の難問</p> <p>を持っているスペース
- 9. は、これは私です</p> <pre><code>'[errors]' => [], </code></pre> <p>..私は、ユーザーテーブルを持っていると私は私が<code>$user</code>をデバッグする場合でも、それはnullを返し<code>save()</code>保存したいときにエラーがないCakePhp3
- 10. 私はとの.uiファイルを持っている</p> <p>...アナコンダ
- 11. `オブジェクト:私は<code>JavaScript</code>と<code>fabricJs</code>で働いている、と私は、このイベントを持って二回
- 12. は私が初期化</p> ESPCommandがクラスである <p><code>ESPCommand<BufferedSerial> esp(D1, D0, PTC6);</code></p> <p>中にこのラインを含んでいるC++のコードを持っている誰かが私に次の</p> <p>を説明したい、とコードC++
- 13. Mavenの - 私は私が持っているプロジェクトのそれぞれを構築するときにどのよう</li> <li>DataComponents</li> <li>ServiceComponents </ul> <p></li>を</p> <ul> <li>WebComponentsを私は3つのMavenを持って一つのプロジェクト
- 14. は、どのように私は、変数</p> <pre><code>int x = 2; </code></pre> <p>とリストを持っている
- 15. は、どのように私はフォルダが</p> <p>今基本的に今私は<code>tomhome</code>から<code>/home/tom</code>にすべてのデータをコピー<code>/data/tomhome</code>と呼ばれる持って、私は私の別のpartioionに</p>その後 <pre><code>/home/tom </code></pre> <p>のように私のホームディレクトリを持っているのlinux
- 16. JSは</strong></p> <p>は私がページをロードしないSquarespaceのウェブサイトを持っている、それだけでコンテンツをスワップアウト</p> <p><strong>..私はここに面白いものを持っている
- 17. は、私がそう<code>stroke</code>として知られている私は私の<code>textblock</code>アウトライン(<em>ない</em>のTextBlock、<em>文字</em>自分自身を)与えたい<code>Silverlight</code>アプリを、持っているXAML
- 18. LiipImagineBundle画像は、私は私のデータベースに画像をアップロードする<strong>VichUploadBundle</strong>を使用していて、<strong>LiipImage</strong>と、ウェブサイトに表示された画像のサムネイルを持っていると思い
- 19. OpenCV輪郭モーメント?
- 20. 背景画像をクリックすると、私はダミーイメージ画像をダミークリックで</p> <pre><code><a href="http://example.com/filename"><img src="dummy.jpg"></a> </code></pre> <p>を持っているjavascriptの
- 21. 問題は、私は</strong>モーダルが、それは<strong>小型</strong>に来ているブートストラップ<strong>に<strong>Googleのチャート</strong>を追加しようとしていたとき、私はときにそれを再描画する<strong>サイズ変更機能</strong>を追加したモーダル
- 22. tr:ホバーのボーダー半径を<tr>にするには?私は私がしたいことはある、それは<code><table></code>が含まれている大きな<code><div class="content"></code>を持って
- 23. PHP:strlenヘルプ。</p> <p>説明は以上である場合:私は</p> <p>は、私は何をしたいと言っている、私は商品説明をデータベースからエコー出力されていて、文字列
- 24. Cannyの輪郭を輪郭に変換するOpenCV
- 25. 私は<strong>メインウィンドウ</strong>、私のWPFアプリケーションで<strong>MenuControl</strong>、<strong>EditorControl</strong>を持っている別のコントロール
- 26. iphone:アップルIDは、私たちは会社のアカウントを持っていると私はそれに管理者権限を持っていると私は</p> <p><a href="https://itunesconnect.apple.com">https://itunesconnect.apple.com</a></p> <p>が、その与えエラーににログインしようとしていますiTunesの接続
- 27. は、私は2つのプロジェクト<strong>OSBのEclipse</strong>上<strong></strong>と<strong>B</strong>を持っている日食
- 28. 私は形でマルチファイルアップロードコントロールの<strong><em>N</em></strong>番号を持っているMVC
- 29. システムプロパティを設定すると、私は<code>PATH</code>で<code>java</code>バイナリを持っていないシステムを持っていない、どちらもそれは<code>JAVA_HOME</code>セット持ってんのGradleは
- 30. は、私は2つの単純なモデル「<strong>MusicStyle</strong>」を作成し、「<strong>バンド</strong>」、と私は<strong>バンド</strong>が<strong>MusicStyle</strong>を持っていると思いますよVB
すでに持っているもののデータについての詳細情報を追加してください。あなたはイメージを持っていますか?輪郭?あなたは軸そのものを持っていますか? –
私が追加しました...それを確認してください...何をもっとしたいかを指定してください...私を助けてください.... – Wazzzy