DLIB에서 Hough 변환을 사용하려고하지만 표시 할 줄을 두 개 이상 가져올 수 없습니다. DLIB 워드 프로세서의 예는 하나의 강력한 포인트를 사용 :Hough 변환을 통한 필터링 DLIB의 결과
point p = max_point(mat(himg));
가 어떻게 모든 강력한 얻을 수있는 라인 (특정 임계 값 또는 N 가장 많은 표 이상) 보여?
내가 포인트를 통해 루프를 시도하고 각 이미 발견 마스크,하지만 dlib::max_point
이 같은를 찾는 유지 한, 그것은에도 불구하고 점은 이미 제로되고 :
for(int i = 0; i < nPoints; ++i){
dlib::point p = dlib::max_point(dlib::mat(hImg));
maxPoints.push_back(p);
std::cout << "Turning point " << p.x() << ", " << p.y() << " = " << hImg[p.x()][p.y()] << std::endl;
hImg[p.x()][p.y()] = 0;
std::pair<dlib::point, dlib::point> line = ht.get_line(p);
dlib::draw_line(temp, line.first+5, line.second+5, dlib::rgb_pixel(255,255,0));
}
루프 반복 :
Turning point 595, 584 = 78540
Turning point 595, 584 = 0
Turning point 595, 584 = 0
DLIB의 거친 공간을 통한 필터링에 "올바른"방법이 있습니까?
업데이트 : 데이비스 킹 (Davis King)이 지적했듯이, 즉각적인 문제를 해결 한 좌표 (행, 열) 대 (x, y)를 바꿨지 만 핵심 이슈는 여전히 존재합니다. 내 무릎 공간은 다음과 같습니다
에서 볼 수있는 바와 같이 는,이 지역 최대의 수를하지만 모든 것이 중앙에 거대한 덩어리에 의해 지배됩니다
![Hough Image in color for clarity](https://i.stack.imgur.com/4eNrv.jpg)
나는 특정 임계점 위의 모든 얼룩을 클러스터링하는 것에 대해 생각했지만 전체 이미지를 루핑하여 그러한 점을 발견하고 클러스터링 알고리즘은 매우 비효율적이므로 똑똑한 방법이 있어야합니다. 아마도 이미지 자체의 내부 가장자리가 억제 될 수 있습니다 (불규칙한 혼란 같은 작은 물체)?
감사합니다. 한 곳에서 x, y 및 다른 행을 사용할 때 가끔 혼란합니다. col – user3002166