2013-04-05 4 views
0

openCV에서 이미지를로드합니다. 그런 다음 Point (x1, y1)에서 Point (x2, y2)로 선을 그립니다. 그 라인의 픽셀 수를 계산하는 방법?OPENCV - 픽셀 수

답변

0

시도 당신은 그것의 설명 here

을 찾을 수 있습니다

int cvInitLineIterator(const CvArr* image, CvPoint pt1, CvPoint pt2, CvLineIterator* line_iterator, int connectivity=8, int left_to_right=0) 

를 사용하기 "기능은 라인 반복자를 초기화하고 두 끝점 사이의 픽셀 수를 반환합니다. 두 점은 이미지 안에 있어야 이터레이터가 초기화 된 후 CV_NEXT_LINE_POINT 포인트를 연속적으로 호출하여 두 끝점을 연결하는 래스터 선의 모든 점을 검색 할 수 있습니다. 선상의 점은 4- 연결 또는 8 연결을 사용하여 하나씩 계산됩니다 Bresenham 알고리즘. "

+0

언어 C에서 OpenCV 래퍼로 작성해야합니다 – Kil

+0

다음 질문에 대한 태그는 EmguCv입니다. –

0

당신은 OpenCV의에서 Lineiterator 사용할 사용할 수있는 라인 반복자 당신이 중 4 사용할 수 있습니다 p1 and p2 사용

lineIterator1.count 

연결하는 라인에 존재하는 수의 픽셀을 찾기 위해 다음 초기화되면

Point p1={x1,y1}; // point 1 
Point p2={x2,y2}; // point 2 
LineIterator lineIterator1(lineImg, p1, p2,8); 

이 회선 반복기에 8 개의 연결성.

아래 링크에서 회선 반복기에 대한 설명을 찾을 수 있습니다. http://docs.opencv.org/modules/core/doc/drawing_functions.html#LineIterator

관련 문제