전 이미지 처리에서 초보자입니다. 누구든지 회색 이미지에서 얼룩 탐지를 수행하는 방법을 가르쳐 주시겠습니까? 샘플 코드는 정말 감사하겠습니다. 나는 그 때 나타나는 얼룩의 수를 세어야 할 것이다. 그런데 입력은 웹 카메라에서 나옵니다. 또한 BLOB의 크기를 결정하는 방법은 무엇입니까? 크기가 머리와 거의 같은 크기인지 비교하고 싶습니까? 사실 저는 문을 통과하는 사람들의 수를 세어 봐야 할 헤드 카운트를하고 있습니다. 내 댓글의 연결 예에서회색 이미지의 Emgu CV BLOB 감지
1
A
답변
0
는 :
http://opencv.willowgarage.com/wiki/cvBlobsLib
당신은 쉽게 CBlob
개체를 얻을 :
CBlobResult blobs;
int i;
CBlob *currentBlob;
IplImage *original, *originalThr;
// load an image and threshold it
original = cvLoadImage("pic1.png", 0);
cvThreshold(original, originalThr, 100, 0, 255, CV_THRESH_BINARY);
// find non-white blobs in thresholded image
blobs = CBlobResult(originalThr, NULL, 255);
// exclude the ones smaller than param2 value
blobs.Filter(blobs, B_EXCLUDE, CBlobGetArea(), B_LESS, param2);
// get mean gray color of biggest blob
CBlob biggestBlob;
CBlobGetMean getMeanColor(original);
double meanGray;
blobs.GetNth(CBlobGetArea(), 0, biggestBlob);
meanGray = getMeanColor(biggestBlob);
// display filtered blobs
cvMerge(originalThr, originalThr, originalThr, NULL, displayedImage);
for (i = 0; i < blobs.GetNumBlobs(); i++)
{
currentBlob = blobs.GetBlob(i);
currentBlob->FillBlob(displayedImage, CV_RGB(255,0,0));
}
는 당신은 당신이 필요에 따라 그것에
Area
또는
Perimeter
를 호출 할 수 있습니다.
+2
EmguCV로 작업하고 있습니다. EmguCV에서 cvbloblib를 호출 할 수 있습니까? – user1217904
샘플 코드? 이것은 매우 복잡한 주제이며, 내가 추측하는 코드 샘플을 얻지 못할 것이다. http://opencv.willowgarage.com/wiki/cvBlobsLib – vulkanino
아마도 emgucv를 사용하여 BLOB 크기를 결정하는 데 도움을 줄 수 있습니다. – user1217904