opencv帧差法找出相差大的图像
本文实例为大家分享了opencv帧差法找出相差大的图像,供大家参考,具体内容如下
#include"stdafx.h" #include#include #include #include #include #include #include #include #include #include #defineIMAGENO18456 usingnamespacestd; usingnamespacecv; intmain(intargc,char*argv()) { stringImgName; charOutName[100]; MatImage,tempImage,previousImage,currentImage,resultImage; ifstreamfin("ImageList.txt"); //ifstreamfin("new.txt"); for(intnum=0;num 0) { cvtColor(tempImage,currentImage,CV_BGR2GRAY); absdiff(currentImage,previousImage,resultImage);//帧差法,相减 threshold(resultImage,resultImage,20,255.0,CV_THRESH_BINARY);//二值化,像素值相差大于20则置为255,其余为0 intcounter=0; //访问mat中的像素 for(inti=0;i (i);//获取每一行的指针 for(intj=0;j 4000)//达到阈值的像素数达到一定的数量则保存该图像 { sprintf(OutName,"E:\\Image筛选之后\\%5d.jpg",num); imwrite(OutName,Image); } cvtColor(tempImage,previousImage,CV_BGR2GRAY); } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。