使用openCV生成轮廓的直方图

时间:2018-04-03 12:19:25

标签: c++ opencv histogram contour

我想生成轮廓的直方图。我在openCv中使用C ++。到目前为止我已经能够找到轮廓,但是我还没有能够生成直方图,只是为了突出这些轮廓是不规则的物体。我正在尝试这样做以跟踪多个对象并在遮挡后识别它们。

代码段:

cv::Mat frameSubtracao, frameSubtracao_gray; 

cv::cvtColor(frameSubtracao.clone(), frameSubtracao_gray, CV_BGR2GRAY );

cv::findContours(frameSubtracao_gray.clone(), contours, hierarchy,
                 CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE );

2 个答案:

答案 0 :(得分:0)

Opencv可以为您计算历史记录:https://docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/histogram_calculation/histogram_calculation.html

此外,它可以根据直方图对您认为合适的值进行阈值处理: https://docs.opencv.org/2.4/doc/tutorials/imgproc/threshold/threshold.html

答案 1 :(得分:0)

那个轮廓是二进制图像吗? (例如,你从canny()函数生成的)如果是这样的话:

你可以对轮廓和图像做 bitwise_and(),然后生成它的直方图。

请参阅: https://docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/histogram_calculation/histogram_calculation.html