OpenCV 4.10.0
开源计算机视觉
|
用于遍历光栅线段上所有像素的类。 更多...
#include <opencv2/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 (Rect boundingAreaRect, Point pt1, Point pt2, int connectivity=8, bool leftToRight=false) | |
LineIterator (Size boundingAreaSize, 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++ () |
将迭代器移动到直线上的下一个像素。 | |
LineIterator | operator++ (int) |
将迭代器移动到直线上的下一个像素。 | |
Point | pos () const |
返回当前像素的坐标。 | |
公共属性 | |
int | count |
int | elemSize |
int | err |
int | minusDelta |
int | minusShift |
int | minusStep |
Point | p |
int | plusDelta |
int | plusShift |
int | plusStep |
bool | ptmode |
uchar * | ptr |
const uchar * | ptr0 |
int | step |
用于遍历光栅线段上所有像素的类。
类 LineIterator 用于获取连接两个指定点的光栅线上的每个像素。它可以被视为 Bresenham 算法的多功能实现,您可以在每个像素处停止并执行一些额外的处理,例如,沿着直线获取像素值或绘制带有效果的直线(例如,使用 XOR 操作)。
直线上的像素数量存储在 LineIterator::count 中。方法 LineIterator::pos 返回图像中的当前位置
|
inline |
为给定直线和图像初始化迭代器对象。
返回的迭代器可用于遍历连接给定两点的直线上的所有像素。直线将在图像边界上裁剪。
img | 基础图像。 |
pt1 | 直线的第一个端点。 |
pt2 | 直线的另一个端点。 |
connectivity | 迭代器的像素连接性。有效值为 4(迭代器可以向上、向下、向左和向右移动)和 8(迭代器也可以沿对角线移动)。 |
leftToRight | 如果为真,则从最左端的端点到最右端的端点遍历直线。否则,从 pt1 到 pt2 遍历直线。 |
|
inline |
|
inline |
|
inline |
void cv::LineIterator::init | ( | const Mat * | img, |
Rect | boundingAreaRect, | ||
Point | pt1, | ||
Point | pt2, | ||
int | connectivity, | ||
bool | leftToRight | ||
) |
uchar * cv::LineIterator::operator* | ( | ) |
返回指向当前像素的指针。
LineIterator & cv::LineIterator::operator++ | ( | ) |
将迭代器移动到直线上的下一个像素。
这是前缀版本 (++it)。
LineIterator cv::LineIterator::operator++ | ( | int | ) |
将迭代器移动到直线上的下一个像素。
这是后缀版本 (it++)。
Point cv::LineIterator::pos | ( | ) | const |
返回当前像素的坐标。
int cv::LineIterator::count |
int cv::LineIterator::elemSize |
int cv::LineIterator::err |
int cv::LineIterator::minusDelta |
int cv::LineIterator::minusShift |
int cv::LineIterator::minusStep |
Point cv::LineIterator::p |
int cv::LineIterator::plusDelta |
int cv::LineIterator::plusShift |
int cv::LineIterator::plusStep |
bool cv::LineIterator::ptmode |
uchar* cv::LineIterator::ptr |
const uchar* cv::LineIterator::ptr0 |
int cv::LineIterator::step |