Line iterator [詳解]
#include <imgproc.hpp>
公開メンバ関数 |
|
LineIterator (const Mat &img, Point pt1, Point pt2, int connectivity=8, bool leftToRight=false) | |
イテレータの初期化[【詳解】(英語]
|
|
LineIterator (Point pt1, Point pt2, int connectivity=8, bool leftToRight=false) | |
LineIterator (Size boundingAreaSize, Point pt1, Point pt2, int connectivity=8, bool leftToRight=false) | |
LineIterator (Rect boundingAreaRect, Point pt1, Point pt2, int connectivity=8, bool leftToRight=false) | |
void | init (const Mat *img, Rect boundingAreaRect, Point pt1, Point pt2, int connectivity, bool leftToRight) |
uchar * | operator* () |
現在のピクセルへのポインタを返します |
|
LineIterator & | operator++ () |
前置インクリメント演算子 (++it). イテレータを次のピクセルに移動させます |
|
LineIterator | operator++ (int) |
後置増分演算子 (it++). イテレータを次のピクセルに移動します。 |
|
Point | pos () const |
現在のピクセルの座標を返します. |
|
公開変数類 |
|
uchar * | ptr |
const uchar * | ptr0 |
int | step |
int | elemSize |
int | err |
int | count |
int | minusDelta |
int | plusDelta |
int | minusStep |
int | plusStep |
int | minusShift |
int | plusShift |
Point | p |
bool | ptmode |
ラインイテレータ
このクラスは、指定された2点を結ぶラスタ線分上のすべてのピクセルを反復処理するために使用されます。
このクラスはLineIteratorは、ラスタラインの各ピクセルを取得するために使用されます。これは、Bresenham アルゴリズムの汎用的な実装として扱うことができ、各ピクセルで停止して追加の処理を行うことができます。例えば、線に沿ってピクセル値を取得したり、(XOR 演算などで)効果的に線を描画したりすることができます。
線に沿ったピクセルの数が LineIterator::count に格納されます。メソッドはLineIterator::posは、画像内の現在の位置を返します。
|
inline |
イテレータの初期化
pt1 と pt2 を結ぶ線のイテレータを作成 線は画像の境界で切り取られます 線は 8 連結または 4 連結です leftToRight=true の場合、反復は常に左端の点から右端の点まで行われ、pt1 と pt2 のパラメータの順序には依存しません。