亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? form1.ui.h

?? 向嵌入式linux操作系統中
?? H
字號:
/****************************************************************************** ui.h extension file, included from the uic-generated form implementation.**** If you wish to add, delete or rename functions or slots use** Qt Designer which will update this file, preserving your code. Create an** init() function in place of a constructor, and a destroy() function in** place of a destructor.*****************************************************************************/#include <qpushbutton.h>#include <qdatetime.h>//#include <qlcdnumber.h>#include <qimage.h>#include <qcolor.h>#include <qstring.h>#include <qpainter.h>#include <qrect.h>#include <qpoint.h>#include <fcntl.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <linux/videodev.h>#include <sys/types.h>#include <linux/types.h>#include <sys/stat.h>#include <sys/ioctl.h>#include <qmessagebox.h>#include <math.h>#include <qradiobutton.h>#include <qslider.h>//#include <iostream.h>#include <qlineedit.h>#include <stdlib.h>//#include <qobject.h>#define BPP 24#define USB_VIDEO "/dev/v4l/video0"#define IMAGE_WIDTH  320#define IMAGE_HEIGHT  240int timedatetimer, monitorstarttimer;// findbackgroundmanytimestimer;int mfd;unsigned char imagebuf[320 * 240 * BPP];//uchar imagebuf[320 * 240 * BPP];bool buttonpress = FALSE;bool onlystart = FALSE;bool Isinitvedio = FALSE;int findbackgroudtimer1,findbackgroudtimer2;bool findbgsuccess = FALSE;QImage imagebg;///////////////////////////////////fuction area start////////////////////////////////int min(int r, int g, int b){    //if((r == g) && (r == b)) {return -1;}    if((r <= g) && (r <= b)) {return r;}    else if((g <= r) && (g <= b)) {return g;}    else return b;};QImage calH(QImage img){    int x = 0, y = 0;    int r, g, b;    int h;    QRgb rgb;        //QImage imagetemp = img.copy();   // QImage imgend = img;    uint *p;    for(y = 0; y < img.height(); y++)	    {		for(x = 0; x < img.width(); x++)		{		     rgb = img.pixel(x,y);		     r = qRed(rgb);		     g = qGreen(rgb);		     b = qBlue(rgb);		                  if ((r == g) && (r == b)) {                 h = 170;//  2/3 max(255)                 //p = (uint *)imgend.scanLine(y) + x;                 //*p = qRgb(h,h,h);              }		     else if(min(r,g,b) == r) {			 h = 85*(g+2*b-3*r)/(g+b-2*r);		     }		     else if(min(r,g,b) == g) {			 h = 85*(3*r+2*b-5*g)/(r+b-2*g);		     }		     else {h = 85*(r+2*g-3*b)/(r+g-2*b);}		     p = (uint *)img.scanLine(y) + x;		     *p = qRgb(h,h,h);   		}	    }    return img;};// open the vedio device -- vedio0  int open_vedio_device(){   		int open_fd;	open_fd = open(USB_VIDEO, O_RDONLY);	printf("open_fd = %d\n", open_fd);		if (open_fd<0)    {    perror(USB_VIDEO);    exit(1);    } 	return(open_fd);}// vedio device initialize  int initdev(int *file_fd){    //unsigned char  *src;    //FILE * fp;    struct video_capability cap;    struct video_picture vpic;    struct video_window win;    //unsigned int  src_depth;    int fd = *file_fd;   if (ioctl(fd, VIDIOCGCAP, &cap) < 0) {    perror("VIDIOGCAP");    fprintf(stderr, "("USB_VIDEO" not a video4linux device?)\n");    close(fd);    exit(1);  }  ioctl(fd, VIDIOCGWIN, &win);    win.width = 320;  win.height = 240;  if (ioctl(fd, VIDIOCSWIN, &win) < 0) {    perror("VIDIOCGWIN");    close(fd);    exit(1);  }   if (ioctl(fd, VIDIOCGPICT, &vpic) < 0) {    perror("VIDIOCGPICT");    close(fd);    exit(1);  }  if (cap.type & VID_TYPE_MONOCHROME) {    vpic.depth=8;    vpic.palette=VIDEO_PALETTE_GREY; // 8bit grey     if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {      vpic.depth=6;      if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) { vpic.depth=4; if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {   fprintf(stderr, "Unable to find a supported capture format.\n");   close(fd);   exit(1); }      }    }  } else {    vpic.depth=24;    vpic.palette=VIDEO_PALETTE_RGB24;    if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {      vpic.palette=VIDEO_PALETTE_RGB565;      vpic.depth=16;      if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) { vpic.palette=VIDEO_PALETTE_RGB555; vpic.depth=15; if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {   fprintf(stderr, "Unable to find a supported capture format.\n");   return -1; }      }    }  }  vpic.brightness  =1698;  vpic.hue = 32768;  vpic.colour = 32512;  vpic.contrast = 32768;  vpic.whiteness = 0;  vpic.depth =180;  vpic.palette = VIDEO_PALETTE_RGB24;  if(ioctl(fd, VIDIOCSPICT, &vpic) < 0)  {    perror("VIDIOCSPICT");    close(fd);    exit(1);  }  return 1;}void VideoInitalize(){    mfd = open_vedio_device();    initdev(&mfd);}QImage getImage(unsigned char *buf){  int x, y;  int i=0;           QImage img;  uint *p;  int r, g, b;  if(img.create(320, 240, 32, 0, QImage::IgnoreEndian))  {      for(y=0; y<240; y++){        for(x=0; x<320; x++){            r=(int)buf[i+2];            g=(int)buf[i+1];            b=(int)buf;            p = (uint *)img.scanLine(y)+ x;            *p = qRgb(r,g,b);            i+=3;        }      }  }  return img;}QImage getImagedis(unsigned char *buf){  int x, y;  int i=0;           QImage img;  uint *p;  int r, g, b;  if(img.create(320, 240, 32, 0, QImage::IgnoreEndian))  {      for(y=0; y<240; y++){        for(x=0; x<320; x++){            r=(int)buf[i+2];            g=(int)buf[i+1];            b=(int)buf[i];            p = (uint *)img.scanLine(y)+ x;            *p = qRgb(r,g,b);            i+=3;        }      }  }  return img;}int different(QImage imgA, QImage imgB, int levelpoint){    int x,y;    int difcount = 0;    QRgb rgbA,rgbB;   // int rA,gA,bA,rB,gB,bB;    //int level = slider1->value();   // switch(level)   // {    //case 0://	level = 15;//	break;   // case 1://	level = 10;//	break;  //  case 2://	level = 5;//	break;  //  }    for(y=0;y<imgA.height();y++)    {	for(x=0;x<imgA.width();x++)	{	    rgbA = imgA.pixel(x,y);	    rgbB = imgB.pixel(x,y);	    	//    rA = qRed(rgbA);	 //   gA = qGreen(rgbA);	 //   bA = qBlue(rgbA);		    	//    rB = qRed(rgbB);	//    gB = qGreen(rgbB);	 //   bB = qBlue(rgbB);	    	    if(!((abs(qRed(rgbA) - qRed(rgbB)) <= levelpoint) && (abs(qGreen(rgbA) - qGreen(rgbB)) <= levelpoint) && (abs(qBlue(rgbA) - qBlue(rgbB)) <= levelpoint)))		difcount++;	    	}    }        return (difcount * 10000 / 76800);}int differentdisplayperson(QImage imgA, QImage imgB,QImage *imgC, int levelpoint){    int x,y;    int difcount = 0;    QRgb rgbA,rgbB;   // int rA,gA,bA,rB,gB,bB;    uint *q;       for(y=0;y<240;y++)    {	for(x=0;x<320;x++)	{	    rgbA = imgA.pixel(x,y);	    rgbB = imgB.pixel(x,y);	    	  //  rA = qRed(rgbA);	   // gA = qGreen(rgbA);	   // bA = qBlue(rgbA);		    	  //  rB = qRed(rgbB);	  //  gB = qGreen(rgbB);	  //  bB = qBlue(rgbB);	    	    if(!((abs(qRed(rgbA) - qRed(rgbB)) <= levelpoint) && (abs(qGreen(rgbA) - qGreen(rgbB)) <= levelpoint) && (abs(qBlue(rgbA) - qBlue(rgbB)) <= levelpoint))) 		difcount++;	    else	    {		q = (uint *)imgC->scanLine(y) + x;        *q = qRgb(255,255,255);	    }	    	}    }    //if((difcount * 10000 / 76800) > leveldif)    //return -1;    return (difcount * 10000 / 76800);   // else return FALSE;}QImage Form1::FindBackground(){    QImage image[3];    //+++++++++++++++++++++++++++++++    //QString str;    //++++++++++++++++++++++++++++++    int i;    //int dif01,dif12;    for (i = 0; i < 3; i++)    {		findbackgroudtimer1 = startTimer(500);	//if(!image[i].loadFromData(imagebuf,230400)) {cout<<"image "<<i<<"loadFormData() failed!\n";}    image[i] = getImage(imagebuf);    //++++++++++++++++++++++++++++++++++++++++++    //str.sprintf("/arca/wsy/image%d.jpg",i);    //if(! image[i].save(str,"JPEG")) {cout<<"image "<<i<<"saved failed!\n";}        //+++++++++++++++++++++++++++++++++++++++++    }    for(i = 0; i < 3; i++)    {	image[i] = calH(image[i]);    }        //dif01 = different(image[0],image[1],20);    //dif12 = different(image[1],image[2],20);            if( (different(image[0],image[1],20) < 450) && (different(image[1],image[2],20) < 450) )    {	findbgsuccess = TRUE;    //+++++++++++++++++++++++++++++++++++++++    //if(!image[3].save("/arca/wsy/bgsuccess.jpg","JPEG")) {cout<<"image background in FindBackground() saved failed!\n";}    //++++++++++++++++++++++++++++++++++++++	startTimer(500);	return image[2];	    }    else     {	findbgsuccess = FALSE;	findbackgroudtimer2 = startTimer(2000);    }    //findbackgroundmanytimestimer = startTimer(120000);    }//int monitorstarttimer;bool isStop = TRUE;void Form1::MonitorStart(){    if(isStop) return;        QImage imageinput,imageinputtemp; //,imagesave;    QPainter p(this);    if(onlystart)    {	imagebg = FindBackground();	//++++++++++++++++++++++++++++++++++++++++++++++++++++++++   // imagebg.save("/arca/wsy/background.jpg","JPEG");	//++++++++++++++++++++++++++++++++++++++++++++++++++++++++    }        int level = slider1->value();    int leveltemp = level * 100 + 100;//leveltemp2 = 0, leveltemp3 = 0;    int dif;    /******************************    switch(level)    {    case 0:	leveltemp = 500;		break;    case 1:	leveltemp = 450;    	break;    case 2:	leveltemp = 400;        }    ****************************/    read(mfd, imagebuf, 230400);        imageinputtemp = getImage(imagebuf);    imageinput = getImagedis(imagebuf);     QImage imagedis = imageinput.copy();    //imageinputtemp = imageinput.copy();    imagedis = imagedis.smoothScale(160,120); //+++++++++++++++++++++++++++++    p.drawImage(QPoint(30,110),imagedis);//+++++++++++++++++++++++++++++   // p.drawImage(QRect(QPoint(30,110),QPoint(190,230)),imageinput);    imageinputtemp = calH(imageinputtemp);    if(radioButtondis->isChecked())    {        if((dif = differentdisplayperson(imagebg,imageinputtemp,&imageinput,20)) > leveltemp)        {            QTime time = QTime::currentTime();            QString strtime,strdate,str;            str.sprintf("/mnt/picmon/");            strtime.sprintf("%2d:%2d:%2d.jpg",time.hour(),time.minute(),time.second());            QDate date = QDate::currentDate();            strdate.sprintf("%2d.%2d.%2d_",date.year(),date.month(),date.day());            str = str + strdate + strtime;	                imageinput.save(str,"JPEG");            imageinput = imageinput.smoothScale(160,120);            p.drawImage(QPoint(250,110), imageinput);//+++++++++++++++++++++++           // p.drawImage(QPoint(430,140), imageinput);	    lineEdit1->setText(str);	    if(dif > 6000) {FindBackground();}                            }		monitorstarttimer = startTimer(500);	  	    }    else    {	if((dif = different(imagebg,imageinputtemp,20)) > leveltemp)	{	    QTime time = QTime::currentTime();	    QString strtime,strdate,str;	    str.sprintf("/mnt/picmon/");	    strtime.sprintf("%2d:%2d:%2d.jpg",time.hour(),time.minute(),time.second());	    QDate date = QDate::currentDate();	    strdate.sprintf("%2d.%2d.%2d_",date.year(),date.month(),date.day());	    str = str + strdate + strtime;	    	    imageinput.save(str,"JPEG");        p.drawImage(QPoint(250,110), imagedis);//+++++++++++++++++++++	   // p.drawImage(QRect(QPoint(250,110),QPoint(410,230)), imageinput);	    lineEdit1->setText(str);        if(dif > 6000) {FindBackground();}	}	monitorstarttimer = startTimer(500);    }           //320*240*24                // if the monitor is first start ,we must find a background image     }////////////////////////////////////fuction area end/////////////////////////////////void Form1::init(){    showTime();    // QPixmap pix("images/back.png");   // this->setPaletteBackgroundPixmap(pix);}void Form1::StartorStop(){   // QImage imagebg;    buttonpress = !buttonpress;    isStop = !isStop;    if(buttonpress)    {	pushButtonStartorStop->setText("&Stop  Monitor");    if(!Isinitvedio)    {           VideoInitalize();        Isinitvedio = !Isinitvedio;    }	onlystart = !onlystart;	MonitorStart();    }    else     {	pushButtonStartorStop->setText("&Start Monitor");	//close(mfd);    }    }void Form1::showTime(){    QTime time = QTime::currentTime();    QString strtime,strdate,str;    strtime.sprintf("%2d:%2d:%2d   ",time.hour(),time.minute(),time.second());    QDate date = QDate::currentDate();    strdate.sprintf("%d-%d-%d",date.year(),date.month(),date.day());    str = strtime + strdate;    lineEditTime->setText(str);    timedatetimer = startTimer(1000);}//long countbuf;void Form1::timerEvent( QTimerEvent *te ){    if(te->timerId() == timedatetimer) 	showTime();        if(te->timerId() == findbackgroudtimer1)    {       read(mfd, imagebuf, 230400);        //cout<<"the bytes readed from imagebuf[] is "<<countbuf<<endl;           }	        if(te->timerId() == findbackgroudtimer2)	FindBackground();        if(te->timerId() == monitorstarttimer)	MonitorStart();   // if(te->timerId() == findbackgroundmanytimestimer)   // FindBackground();}void Form1::delimages(){    system("rm /mnt/picmon/*.jpg -f");}void Form1::spinboxchange(){    int s;    s = slider1->value() + 1;    spinBox3->setValue(s);}void Form1::spliderchange(){    int s;    s = spinBox3->value() - 1;    slider1->setValue(s);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
老司机精品视频线观看86| 樱桃视频在线观看一区| 精品国产电影一区二区| 欧美精品免费视频| 91麻豆精品国产91久久久| 91精品综合久久久久久| 91麻豆精品国产综合久久久久久| 欧美日韩不卡在线| 日韩一级片网址| 国产婷婷精品av在线| 亚洲色欲色欲www| 天天做天天摸天天爽国产一区| 麻豆精品视频在线观看免费| 国产99久久久久| 欧美日韩视频一区二区| 26uuu久久天堂性欧美| 亚洲婷婷在线视频| 亚洲国产精品天堂| 色94色欧美sute亚洲线路一久| 欧美精品视频www在线观看| 国产精品系列在线观看| 91片在线免费观看| 欧美电影免费观看完整版| 国产精品色在线观看| 久久99久久久久| 欧美日韩一区在线| 最新久久zyz资源站| 国产综合色精品一区二区三区| 97精品超碰一区二区三区| 欧美一区二区免费视频| 一区二区三区在线播| 成人免费视频一区二区| 精品卡一卡二卡三卡四在线| 午夜激情久久久| 欧美自拍偷拍一区| 一区二区三区免费网站| 成人av资源在线观看| 亚洲国产成人私人影院tom | 亚洲福利电影网| 不卡视频一二三| 亚洲精品中文在线影院| 91香蕉视频mp4| 夜夜爽夜夜爽精品视频| 色综合欧美在线| 亚洲精品乱码久久久久久黑人| 成人在线视频首页| 国产精品久久久久一区| 一本色道久久加勒比精品 | 成人av网站在线观看| 国产欧美视频一区二区| eeuss鲁片一区二区三区| 中文字幕亚洲欧美在线不卡| 97精品超碰一区二区三区| 亚洲夂夂婷婷色拍ww47| 欧美一区二区三区视频在线观看| 日韩精品一卡二卡三卡四卡无卡| 678五月天丁香亚洲综合网| 国产自产高清不卡| 国产精品国模大尺度视频| 88在线观看91蜜桃国自产| 国产乱子伦视频一区二区三区 | 国产成人精品亚洲日本在线桃色| 欧美激情综合在线| 欧美乱熟臀69xxxxxx| 国产一区二区伦理| 亚洲6080在线| 亚洲三级小视频| 精品美女一区二区| 欧美日本韩国一区| 成人激情小说乱人伦| 青青草原综合久久大伊人精品| 国产精品毛片大码女人| 日韩精品最新网址| 在线观看www91| 91色婷婷久久久久合中文| 国产精品亚洲人在线观看| 午夜精品成人在线| 亚洲成人激情社区| 一区二区三区美女视频| 亚洲色图在线看| 中文字幕一区二区在线观看| www久久久久| 国产午夜精品福利| 久久99国产精品尤物| 欧美成人免费网站| 欧美精品一级二级三级| 欧美日韩你懂的| 在线综合+亚洲+欧美中文字幕| 91久久精品一区二区三| 一本色道a无线码一区v| 91视频一区二区三区| 91免费版在线| 欧美日韩免费观看一区二区三区 | 日韩三级av在线播放| 精品国产制服丝袜高跟| 久久久国产午夜精品| 国产精品视频免费| 亚洲一区二区黄色| 另类专区欧美蜜桃臀第一页| 国产精品1区二区.| 91免费看`日韩一区二区| 色视频欧美一区二区三区| 欧美视频在线观看一区| 欧美白人最猛性xxxxx69交| www国产成人免费观看视频 深夜成人网| 久久久久国产精品厨房| 亚洲欧美另类在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产酒店精品激情| 欧美色网一区二区| 久久久美女毛片| 午夜欧美大尺度福利影院在线看 | 日韩欧美国产一二三区| 中文字幕乱码一区二区免费| 亚洲香肠在线观看| 成人av网站在线| 久久精品人人爽人人爽| 五月天亚洲精品| 一本一道综合狠狠老| 国产欧美日韩不卡免费| 久久狠狠亚洲综合| 欧美午夜在线一二页| 国产精品传媒视频| 大白屁股一区二区视频| 国产视频亚洲色图| 国产另类ts人妖一区二区| 91精品国产麻豆| 婷婷六月综合网| 91精品黄色片免费大全| 午夜电影网一区| 在线播放国产精品二区一二区四区| 国产精品久久久久一区二区三区共| 国产一区欧美一区| 久久免费的精品国产v∧| 精久久久久久久久久久| 精品少妇一区二区三区日产乱码| 视频一区在线视频| 2014亚洲片线观看视频免费| 久久精品国产亚洲高清剧情介绍| 欧美一区二区三区白人| 国产真实乱偷精品视频免| 日本一区二区免费在线观看视频| 粉嫩在线一区二区三区视频| 亚洲图片你懂的| 欧美一区二区三区四区在线观看| 日本成人在线看| 国产人伦精品一区二区| 在线观看三级视频欧美| 免费观看日韩av| 国产精品视频观看| 欧美日本一区二区| 国产成人免费视频| 亚洲最新在线观看| 久久久国产精品麻豆| 欧美午夜理伦三级在线观看| 狠狠色丁香久久婷婷综| 一区二区三区四区av| 欧美日韩一区二区在线视频| 日产精品久久久久久久性色| 久久久精品黄色| 欧美一区二区三区喷汁尤物| 成人激情黄色小说| 亚洲一二三级电影| 色噜噜狠狠成人中文综合| 亚洲另类中文字| 久久久av毛片精品| 884aa四虎影成人精品一区| 91社区在线播放| 成人免费的视频| 成熟亚洲日本毛茸茸凸凹| 日本系列欧美系列| 婷婷久久综合九色国产成人 | 九九国产精品视频| 日韩电影一区二区三区四区| 亚洲图片欧美色图| 亚洲国产精品视频| 日韩精品免费视频人成| 五月天一区二区| 青青国产91久久久久久| 日产精品久久久久久久性色| 青青草一区二区三区| 久久精品国产精品青草| 国产精品18久久久久久久久 | 久久久亚洲国产美女国产盗摄| 欧美精品 国产精品| 欧美一级高清大全免费观看| 欧美tickle裸体挠脚心vk| 久久久国产午夜精品| 1024成人网| 麻豆成人综合网| 国产精品99久久不卡二区| 国产一区二区三区不卡在线观看| 国产一区二区三区四区在线观看| 国产精品18久久久久| 色综合色狠狠天天综合色| 欧美一级免费大片| 国产清纯白嫩初高生在线观看91| 1024成人网| 国产一区二区影院| 欧美午夜片在线看|