🤖
AIによる機械翻訳(非公式) — これは OpenCV 4.13.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は
公式英語版(原文) を参照してください。
線分検出器クラス。 続きを読む...
#include <opencv2/imgproc.hpp>
|
| virtual | ~LineSegmentDetector () |
| |
| virtual int | compareSegments (const Size &size, InputArray lines1, InputArray lines2, InputOutputArray image=noArray())=0 |
| | 2つのラインのグループを青と赤で描画し、重ならない(不一致の)ピクセル数をカウントする。
|
| |
| virtual void | detect (InputArray image, OutputArray lines, OutputArray width=noArray(), OutputArray prec=noArray(), OutputArray nfa=noArray())=0 |
| | 入力画像からラインを検出する。
|
| |
| virtual void | drawSegments (InputOutputArray image, InputArray lines)=0 |
| | 指定された画像上に線分を描画する。
|
| |
| | Algorithm () |
| |
| virtual | ~Algorithm () |
| |
| virtual void | clear () |
| | アルゴリズムの状態をクリアする。
|
| |
| virtual bool | empty () const |
| | Algorithm が空の場合(たとえば開始直後や読み込みに失敗した後)に true を返す。
|
| |
| virtual String | getDefaultName () const |
| |
| virtual void | read (const FileNode &fn) |
| | ファイルストレージからアルゴリズムの引数を読み込む。
|
| |
| virtual void | save (const String &filename) const |
| |
| void | write (const Ptr< FileStorage > &fs, const String &name=String()) const |
| |
| virtual void | write (FileStorage &fs) const |
| | アルゴリズムの引数をファイルストレージに保存する。
|
| |
| void | write (FileStorage &fs, const String &name) const |
| |
線分検出器クラス。
[113] で説明されているアルゴリズムに従う。
- 覚え書き
- 元のコードのライセンス上の競合により、実装はOpenCVバージョン3.4.6から3.4.15、およびバージョン4.1.0から4.5.3で削除された。Computation of a NFA のコードがMITライセンスで公開された後、再び復元された。
◆ ~LineSegmentDetector()
| virtual cv::LineSegmentDetector::~LineSegmentDetector |
( |
| ) |
|
|
inlinevirtual |
◆ compareSegments()
| Python: |
|---|
| cv.LineSegmentDetector.compareSegments( | size, lines1, lines2[, image] | ) -> | retval, image |
2つのラインのグループを青と赤で描画し、重ならない(不一致の)ピクセル数をカウントする。
- 引数
-
| size | lines1 と lines2 が見つかった画像のサイズ。 |
| lines1 | 描画する必要のある1つ目の線分グループ。青色で可視化される。 |
| lines2 | 2つ目の線分グループ。赤色で可視化される。 |
| image | 線分を描画する省略可能な画像。lines1 と lines2 を上記の色で描画するために、画像はカラー (3チャンネル) であるべきである。 |
◆ detect()
| Python: |
|---|
| cv.LineSegmentDetector.detect( | image[, lines[, width[, prec[, nfa]]]] | ) -> | lines, width, prec, nfa |
入力画像からラインを検出する。
これは上に示した画像に対してアルゴリズムをデフォルト引数で適用した出力である。
image
- 引数
-
| image | グレースケール (CV_8UC1) の入力画像。roi のみを選択する必要がある場合は次のように使用する: lsd_ptr-\>detect(image(roi), lines, ...); lines += Scalar(roi.x, roi.y, roi.x, roi.y); |
| lines | 線分の始点と終点を指定する Vec4f 要素のベクトル。Vec4f は (x1, y1, x2, y2) であり、点1が始点、点2が終点。返される線分は勾配に応じて厳密に向き付けられている。 |
| width | 線分が見つかった領域の幅のベクトル。例: 線の幅。 |
| prec | 直線が検出された際の精度のベクトル。 |
| nfa | ライン領域における誤検出数を10%の精度で格納したベクトル。値が大きいほど対数的に検出精度が高い。 - -1 は平均10回の誤検出に対応する
- 0 は平均1回の誤検出に対応する
- 1 は平均0.1回の誤検出に対応する。このベクトルはオブジェクトの型が LSD_REFINE_ADV の場合にのみ計算される。
|
◆ drawSegments()
| Python: |
|---|
| cv.LineSegmentDetector.drawSegments( | image, lines | ) -> | image |
指定された画像上に線分を描画する。
- 引数
-
| image | ラインが描画される画像。ラインが検出された画像以上のサイズである必要がある。 |
| lines | 描画する必要があるラインのベクトル。 |
このクラス詳解は次のファイルから抽出されました: