2016-04-21 99 views
0

如何获取两个非线性点P1和P2之间的所有像素位置(坐标)?
我的实际工作是改变位于P1和P2之间的像素的值,这个像素与P1的距离特别远,因为我需要知道所有的像素坐标。
随着LineIterator我能够访问所有的像素值。但我不知道如何获得像素坐标。
任何人都可以建议我如何获得坐标?如何获取两个非线性点之间的所有像素位置opencv

回答

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(); 
} 
相关问题