亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

OpenCV實現簡單攝像頭視頻監控程序

2020-01-26 13:25:16
字體:
來源:轉載
供稿:網友

如何在冗長的監控錄像中找到關鍵點?我們知道,監控錄像中大部分信息都是沒用的,那些信息就等同于一幅靜態圖像。我們要等待監控的范圍內出現異常情況時再跟蹤。

這其實是一個最簡單的計算機圖像處理程序。簡單的思路是這樣的:首先給攝像頭取景采樣,當背景穩定時,以該圖片作為基準圖片。然后在監控過程中,若出現了和基準圖片反差較大的視頻幀,那么啟動捕捉程序,并標出異常區域。

程序如下:

#include <cv.h>#include <time.h>#include <stdio.h>#include <stdlib.h>#include <highgui.h> #define ESC 0x1b #define TRUE 1#define FALSE 0 // 檢測圖像異常,僅在采樣時調用。// 返回真表示已檢測到異常,需要重新采樣。// 返回假表示未檢測到異常,在一定時間后即可獲取基準圖像。int detect(CvCapture* capture, IplImage* std, IplImage* frm, CvRect* rect); // 圖像采樣,確定基準圖像,以便監測場景變化// 返回真表示采樣成功,返回假表示采樣失敗int gather(CvCapture* capture, IplImage* std, CvRect* rect); // 攝像機監視,用矩形框標示出和基準圖像反差較大的圖像范圍。void monitor(CvCapture* capture, IplImage* std, CvRect* rect); // 求 x 的平方int square(int x); int main(int argc, char* argv[]){ CvCapture* capture;   // 攝像機源 IplImage* std;     // 基準圖像 CvRect rect;      // 異常位置矩形標識  capture = cvCreateCameraCapture(0); if (!capture) return -1;  std = cvQueryFrame(capture); rect = cvRect(-1, -1, 0, 0);  std = cvCloneImage(std);  cvNamedWindow("Monitor Screen");  if (gather(capture, std, &rect)) { monitor(capture, std, &rect); }  cvDestroyWindow("Monitor Screen"); cvReleaseImage(&std); cvReleaseCapture(&capture);  return 0;} int detect(CvCapture* capture, IplImage* std, IplImage* frm, CvRect* rect){ int x, y;            // 循環變量 int f = FALSE;         // 檢測到異常的標識 int x1 = -1, x2 = 0;      // 異常區域矩形橫坐標范圍 int y1 = -1, y2 = 0;      // 異常區域矩形縱坐標范圍  uchar *ptr1b, *ptr1g, *ptr1r;  // 基準圖像的每個像素的三個顏色通道的值 uchar *ptr2b, *ptr2g, *ptr2r;  // 實時圖像的每個像素的三個顏色通道的值  int squaresum;         // 計算 RGB 差值平方和  // 遍歷圖像中的每一個點,將實時采樣圖與基準圖做比較,檢測兩者的每一個 // 像素點的 RGB 差值平方和。當該值大于 8192 時(換算成灰度值則意味著 // 兩者的灰度差大于 90)則立即報告出現異常,只有遍歷完畢后仍未找到異 // 常才報告沒有異常。  for (y = 0; y < std->height; y++) { for (x = 0; x < std->width; x++) {  ptr1b = cvPtr2D(std, y, x) + 0; ptr2b = cvPtr2D(frm, y, x) + 0;  ptr1g = cvPtr2D(std, y, x) + 1; ptr2g = cvPtr2D(frm, y, x) + 1;  ptr1r = cvPtr2D(std, y, x) + 2; ptr2r = cvPtr2D(frm, y, x) + 2;   squaresum =  square(*ptr1b - *ptr2b) +  square(*ptr1g - *ptr2g) +  square(*ptr1r - *ptr2r);   if (squaresum > 8192)  {  if (f)  {   if (x < x1) x1 = x; else if (x > x2) x2 = x;   if (y < y1) y1 = y; else if (y > y2) y2 = y;  }  else  {   f = TRUE;    x1 = x; y1 = y;   x2 = x; y2 = y;  }  } } }  if (x2 - x1 > frm->width / 4 || y2 - y1 > frm->height / 4) { f = TRUE; } else { f = FALSE; }  *rect = cvRect(x1, y1, x2 - x1, y2 - y1); return f;} int gather(CvCapture* capture, IplImage* std, CvRect* rect){ IplImage* frm; int except = FALSE;       // 檢測到異常的標識 int finish = FALSE;       // 采樣已完成的標識 clock_t start_time, real_time; // 時間段監測  start_time = clock();  while (!finish) { frm = cvQueryFrame(capture); cvShowImage("Monitor Screen", frm);  except = detect(capture, std, frm, rect);  if (except) {  start_time = clock();  cvCopyImage(frm, std); }  if (cvWaitKey(15) == ESC) break;  real_time = clock(); if (real_time - start_time >= 3000) {  finish = TRUE; } }  return finish;} void monitor(CvCapture* capture, IplImage* std, CvRect* rect){ IplImage* frm; int except = FALSE; int finish = FALSE;  while (!finish) { frm = cvQueryFrame(capture);  except = detect(capture, std, frm, rect);  if (except) {  cvRectangle(  frm,  cvPoint(rect->x, rect->y),  cvPoint(rect->x + rect->width, rect->y + rect->height),  cvScalar(0, 0, 255),  4); } cvShowImage("Monitor Screen", frm);  if (cvWaitKey(15) == ESC) {  finish = TRUE; } }} int square(int x){ return x * x;}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人免费福利视频| 色综合伊人色综合网| 国产精品久久久久福利| 日韩成人小视频| 曰本色欧美视频在线| 亚洲欧美综合精品久久成人| 久久精品国产99国产精品澳门| 国产精品永久在线| 国产亚洲精品久久久| 宅男66日本亚洲欧美视频| 国产91精品网站| 欧美风情在线观看| 91成人国产在线观看| 国产成人精品视频在线| 欧美成人黄色小视频| 亚洲摸下面视频| 欧美综合一区第一页| 欧美多人爱爱视频网站| 亚洲欧美国产高清va在线播| 久久精品视频在线观看| 91精品国产91久久久久久久久| 日韩av在线网址| 国产精品一区久久| 日本高清+成人网在线观看| 欧美国产日韩中文字幕在线| 亚洲精品98久久久久久中文字幕| 国色天香2019中文字幕在线观看| 国产成人精品视频| 国产69精品久久久久9| 国产亚洲精品综合一区91| 95av在线视频| 国产精品久久97| 日韩av在线电影网| 九色精品美女在线| 大胆欧美人体视频| 成人免费直播live| 97超级碰碰人国产在线观看| 黄色一区二区三区| 97国产suv精品一区二区62| 狠狠色香婷婷久久亚洲精品| 2019中文字幕在线免费观看| 91视频国产一区| 亚洲精品国产综合久久| 国产日韩欧美中文在线播放| 美女啪啪无遮挡免费久久网站| 久久99国产综合精品女同| 亚洲女同性videos| 欧美风情在线观看| 国产一区二区丝袜高跟鞋图片| 久久精品视频在线观看| 日韩在线精品视频| 亚洲欧洲黄色网| 国产日韩中文字幕在线| 国产精品一区二区三区免费视频| 欧美wwwxxxx| 美女av一区二区三区| 亚洲男人第一av网站| 欧美日韩黄色大片| 一区二区在线免费视频| 日韩精品极品在线观看播放免费视频| 久久99国产综合精品女同| 一本一道久久a久久精品逆3p| 中文国产成人精品| 欧美成人免费一级人片100| 在线免费看av不卡| 欧美视频一区二区三区…| 91亚洲va在线va天堂va国| 日韩中文在线中文网在线观看| 91日本视频在线| 美女黄色丝袜一区| 欧美日韩精品国产| 精品福利视频导航| 久久久成人av| 日韩欧美精品中文字幕| 色妞久久福利网| 国产精品久久久久999| 亚洲人线精品午夜| 97涩涩爰在线观看亚洲| 精品国产依人香蕉在线精品| 亚洲2020天天堂在线观看| 2024亚洲男人天堂| 91久久精品一区| 欧美视频不卡中文| 热re99久久精品国产66热| 国产亚洲精品久久久久久777| 色综合色综合久久综合频道88| 亚洲国产精品电影在线观看| 日韩亚洲欧美中文在线| 国产精品一区二区久久精品| 精品久久久久久中文字幕一区奶水| 日韩在线观看免费高清完整版| 中文字幕亚洲专区| 亚洲人精品午夜在线观看| 日韩中文字幕在线免费观看| 欧美一级电影久久| 国产a∨精品一区二区三区不卡| 亚洲高清福利视频| 国产成人精品国内自产拍免费看| 欧美xxxx综合视频| 成人在线激情视频| 久久久久久亚洲精品不卡| 日韩美女毛茸茸| 亚洲国产欧美在线成人app| 91久久综合亚洲鲁鲁五月天| 亚洲性无码av在线| 91老司机在线| 国产va免费精品高清在线观看| 91久久久精品| 国产视频精品在线| 综合激情国产一区| 亚洲欧美国产精品va在线观看| 亚洲人成在线一二| 日韩的一区二区| 国产精品美女久久久久久免费| 国产精品免费福利| 久久精品国产91精品亚洲| 国内外成人免费激情在线视频网站| 黄色成人在线免费| 亚洲成**性毛茸茸| 97人洗澡人人免费公开视频碰碰碰| 精品中文视频在线| 日本一区二区在线播放| 57pao精品| 精品国产一区二区在线| 久久香蕉频线观| 北条麻妃99精品青青久久| 国产精品久在线观看| 黄色一区二区在线观看| 欧美激情高清视频| 亚洲免费伊人电影在线观看av| 欧美性受xxx| 日韩av最新在线| 欧美性色视频在线| 国产精品亚洲精品| 国产精品丝袜久久久久久高清| 免费不卡在线观看av| 色偷偷亚洲男人天堂| 久久亚洲国产精品成人av秋霞| 亚洲成人在线视频播放| 精品视频一区在线视频| 久久精品夜夜夜夜夜久久| 精品国产乱码久久久久酒店| 国产精品一区二区久久精品| 亚洲最大福利视频网| 欧美午夜片在线免费观看| 久久影院在线观看| 精品人伦一区二区三区蜜桃免费| 国产九九精品视频| 国产精品69久久久久| 亚洲一区二区三区乱码aⅴ| 日韩精品极品在线观看播放免费视频| 国产精品丝袜久久久久久不卡| 欧美日韩国产影院| 日韩小视频在线观看| 国产拍精品一二三| 欧美日韩国产一区二区三区| 午夜精品福利在线观看| 亚洲精品动漫久久久久| 狠狠躁夜夜躁人人躁婷婷91| 国产精品久久久av| 久久久在线观看| 欧美在线一区二区视频| 久久91亚洲人成电影网站| 国产精品视频yy9099|