オブジェクト検出用に設計されたプロジェクトを改善したいと考えています。
まず、実際の結果を得るために を使用absdiff
し、次に次の操作を使用します。
cv::threshold(subtractionResultEdges, threshold, 0, 255, CV_THRESH_BINARY | CV_THRESH_OTSU);
Sobel(threshold, sobel, CV_32F, 1, 0);
minMaxLoc(sobel, &minVal, &maxVal);
sobel.convertTo(sobel, CV_8U, 255.0 / (maxVal - minVal), -minVal * 255.0 / (maxVal - minVal));
dilate(subtractionResultEdges, subtractionResultEdges, verticalStructreMat, Point(-1, -1));
erode(subtractionResultEdges, filteredResult, verticalStructreMat, Point(-1, -1));
Canny(filteredResult, filteredResult, 33, 100, 3);
私の最後の手術はfindContours(canny_output, *contours, *hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0));
accumulate
これは、関数 (20 フレーム)を使用して取得したすべての関数と前景を使用した後の結果です。
前景: http://j71i.imgup.net/foregroundc3dc.PNG
減算: http://p81i.imgup.net/subtractio2866.PNG
ソーベル: http://g51i.imgup.net/sobela1fb.PNG
しきい値: http://p46i.imgup.net/treshold14c9.PNG
拡張、浸食、キャニー:
http://q68i.imgup.net/canny2e1a.PNG
findContours: http://v76i.imgup.net/contours6845.PNG
バックグラウンドもaccumulate
関数から取得されます。
コーナーまたは輪郭の検出を改善するのを手伝ってもらえますか? オブジェクトのサイズをピクセル単位で取得するために必要です。
前もって感謝します!