안녕하십니까. Stackoverflow 커뮤니티,SimpleBlobDetector를 실행할 수 없습니다.
문제가있어서 당신의 도움이 필요합니다. 나는 임계 값 매트를 가지고 있고 그것에있는 얼룩을 감지하려고합니다. 내 설정은 다음과 같습니다.
cv::SimpleBlobDetector::Params params;
params.minDistBetweenBlobs = 10.0; // minimum 10 pixels between blobs
params.filterByArea = true; // filter my blobs by area of blob
params.minArea = 1000; // min 1000 pixels squared
params.maxArea = 10000; // max 10000 pixels squared
params.filterByColor = true;
params.blobColor = 255;
Ptr<SimpleBlobDetector> detector = SimpleBlobDetector::create(params);
std::vector<cv::KeyPoint> myBlobs;
detector->detect(fgMaskMOG2, myBlobs);
drawKeypoints(fgMaskMOG2, myBlobs, fgMaskMOG2);
imshow("FG Mask MOG 2", fgMaskMOG2);
그러나 내 이미지에서 키포인트가 강조 표시되지 않고 프로그램을 실행 한 후에 프로그램이 중지되었습니다. 이 코드의 그 라인 전에 만든 매트 fgMaskMOG2, 바이너리 프레임입니다 : 문제는 detector-> 감지 선에 있었다 내가 OpenCV의 3을 사용하고
을 (fgMaskMOG2, myBlobs); 나는 다른 주제를 읽었으며 다른 사람들이 똑같이했기 때문에 문제가 코드에 있다고 생각하지 않는다. 프레임을 CV_GRAY2RGB 및 CV_8UC1로 변환하려고 시도했지만 문제가 해결되지 않습니다. params 속성을 조정하려고 시도했지만 아무 것도 변경하지 않습니다. 어떤 생각이야?
문제를 조사하는 동안 무엇을 찾았습니까? –
왜 나는 downvotes 사람을 받고 있습니까? :) 저는 아직 연구 중이며 디버깅 중입니다. 아직 운이 없습니다. – shjnlee
어떤 방법 으로든 문제를 조사했다고 표시하지 않았기 때문에 아마 투표를 거절 할 것입니다. 이 커뮤니티는 게임을하지 않으면 용서할 수 없습니다. 나는 너와 같은 문제를 겪었으니 너무 기분이 좋지는 마라. –