openv HSV太吵了

时间:2015-07-14 05:08:29

标签: opencv hsv

美好的一天

我尝试通过减去指定范围内的某些颜色来过滤视频。 但是,虽然记录的图像仍然没有改变,但HSV过滤的图像看起来很震动而且不稳定。 这种震动或不稳定在我的处理中引起了很多问题。 有什么方法可以稳定地过滤图像

这是我的过滤器的示例代码...代码的一部分

while (1)
    {
        //first frame read
        cap.read(origonal1);
        morphOps(origonal1);
        cvtColor(origonal1, HSV1, COLOR_BGR2HSV);

        inRange(HSV1, Scalar(0, 129,173), Scalar(26,212, 255), thresholdImage1);



        waitKey(36);

        //second image read and convert it to HSV
        cap.read(origonal2);
        morphOps(origonal2);
        cvtColor(origonal2, HSV2, COLOR_BGR2HSV);

        inRange(HSV2, Scalar(28, 89, 87), Scalar(93, 255, 255),thresholdImage2);

        morphOps(thresholdImage1);
        morphOps(thresholdImage2);
//create a mask so that i only detect motion of certain color range and don't 
//care about other colors motion detection
        maskImage = thresholdImage1 | thresholdImage2;

        //make the difference between images

        absdiff(thresholdImage1,thresholdImage2,imageDifference);

        imageDifference = imageDifference&maskImage;
        morphOps(imageDifference);
        imshow("threshold Image", imageDifference);
        //search for movement now update the origonal image
        searchForMovement(thresholdImage1, origonal1);
        imshow("origonal", origonal1);
        imshow("HSV", HSV1);
        imshow("threshold1", thresholdImage1);
        imshow("threshold2", thresholdImage2);
        //wait for a while give a break to the processor
        //waitKey(1000); 

    }

enter image description here enter image description here this is sample of first input image .. let's say want to filter orange paper this is example of second input 提前谢谢。

1 个答案:

答案 0 :(得分:0)

尝试此功能

fastNlMeansDenoisingColored( frame, frame_result, 3, 3, 7, 21 );

它太慢但很适合尝试。