ホームページ > バックエンド開発 > C++ > OpenCV の Point(x,y) が (Row, Column) の代わりに (Column, Row) を使用するのはなぜですか?

OpenCV の Point(x,y) が (Row, Column) の代わりに (Column, Row) を使用するのはなぜですか?

Linda Hamilton
リリース: 2024-12-10 16:11:10
オリジナル
866 人が閲覧しました

Why Does OpenCV's Point(x,y) Use (Column, Row) Instead of (Row, Column)?

OpenCV での Point(x,y) 表現

OpenCV の Point(x,y) は、(row,column) を使用してピクセル位置を表します。コーディネート。ただし、多くの場合、代わりに (column,row) を使用することが期待されます。

違いの理由

OpenCV は、数学的なものと同様に、行列に行優先順位を使用します。行インデックスが最初に来る規則。逆に、イメージでは通常、列優先順序が使用されます。つまり、列インデックスが軸の順序で最初に来ます。

解釈

違いを明確にするには、次のようにします。

  • src.at(i,j): これ表記では (行,列) 順序が使用されます。ここで、i は行番号、j は列番号です。
  • Point(x,y): ここで、x は列番号を表し、y は列番号を表します。は行番号を表します。

を考えてみましょう。 300行200列の画像。左上隅のピクセルの値:

  • 行列座標: (0,0)
  • 点座標: (0 ,0)

右下隅のピクセル値:

  • 行列座標: (299,199)
  • 点座標: (199,299)

結論

OpenCV での Point(x,y) の表現を理解することは、画像ピクセルに効果的にアクセスするために重要です。これらの規則を念頭に置くことで、開発者は混乱を避け、正しい画像操作操作を保証できます。

以上がOpenCV の Point(x,y) が (Row, Column) の代わりに (Column, Row) を使用するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート