🤖
AIによる機械翻訳(非公式) — これは OpenCV 5.0.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は
公式英語版(原文) を参照してください。
線分検出器クラス。 続きを読む...
#include <opencv2/imgproc.hpp>
線分検出器クラス。
[114] に記述されているアルゴリズムに従う。
- 覚え書き
- 元のコードのライセンス上の競合により、実装は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 | 描画する必要があるラインのベクトル。 |
このクラス詳解は次のファイルから抽出されました: