如何沿两个非线性点P1和P2之间的线获得所有像素位置(坐标)?
我的实际工作是改变位于P1和P2之间的像素的值,该像素距离P1特定的距离,为此我需要知道所有的像素坐标。
使用LineIterator
,我可以访问所有像素值。但我不知道如何获得像素坐标
任何人都可以建议我如何获得坐标?
答案 0 :(得分:0)
cv::LineIterator
等级为documented。
方法LineIterator::pos
返回图像中的当前位置。
看看这个示例代码
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int, char** argv)
{
Mat img(400,400,CV_8UC3,Scalar(0,0,0));
LineIterator it(img, Point(10,10), Point(200,200), 8);
for(int i = 0; i < it.count; i++, ++it)
{
Point pt= it.pos();
circle(img,pt,2,Scalar(255,0,0));
}
imshow("test",img);
waitKey();
}