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

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

?? grabber.c

?? 以feith智能嵌入式相機為終端的linux-windows系統間通信
?? C
?? 第 1 頁 / 共 2 頁
字號:
				*phelp++ = (BYTE)(*g++);			// green
				*phelp++ = (BYTE)(*r++ /wb_red);	// adjust red
								
			}
			else
			{
				*phelp++ = *b++;	// blue
				*phelp++ = *g++;	// green
				*phelp++ = *r++;	// red
			}

			   
		  }
	}

}

DWORD WINAPI ThreadLive(LPVOID lpv)
{
	HDC lDC;
	static BYTE *PPixel,*temppix;
	char s_str[150];
	BYTE error;
	WORD x1,x2,y1,y2;
	DWORD  ptradr, mem_s, lhelp;
	HPALETTE	  OldPal=NULL,hPal;
	PPARAMS pparams ;
	BYTE *PRed[1024],*PGreen[1024],*PBlue[1024];	
	GLOBALHANDLE HRed,HGreen,HBlue;
	BYTE *Pcfa[1024];	
	int img_size,i,j,max1,max2;
	
    int count=0,all=5;
   
    int huidu[256]={0};
    int yuzhi=0;
    int allcount=width*height;


	LARGE_INTEGER llnHPTimerFreq;	// High Performance Timer: Frequency
	LARGE_INTEGER llnHPT1;			// High Performance Timer: Time 1
	LARGE_INTEGER llnHPT2;			// High Performance Timer: Time 2
	LARGE_INTEGER llnT_uSec;		// Time in microseconds


	QueryPerformanceFrequency(&llnHPTimerFreq);

	pparams = (PPARAMS) lpv;
			
	get_video_window(camera,&x1,&y1,&x2,&y2);
	width = x2 - x1 +1;
	height = y2 - y1+1;

	if(img_cnt > 1)
		height = (fpga_mem_offset * (int)(img_cnt)) / width;

	img_size = width * height;

	get_memory_size(camera,&mem_s);

	if(mem_s < (DWORD)img_size)
		set_memory_size(camera,img_size);

	error = get_pixel_ptr(camera,0, &ptradr);          // Pixel Pointer

	BitmapInfo->bmiHeader.biWidth = width;
	BitmapInfo->bmiHeader.biHeight = height;

	if(sensor_type == 0)
	{
		BitmapInfo->bmiHeader.biBitCount = 8;
		BitmapInfo->bmiHeader.biSizeImage = (DWORD)BitmapInfo->bmiHeader.biWidth *
													(DWORD)BitmapInfo->bmiHeader.biHeight;
		BitmapInfo->bmiHeader.biClrUsed = 256;
		BitmapInfo->bmiHeader.biClrImportant = 256;

		PPixel = (BYTE *)ptradr;				 
	}
	if(sensor_type == 1)
	{
		BitmapInfo->bmiHeader.biBitCount = 24;
		BitmapInfo->bmiHeader.biSizeImage = (DWORD)(BitmapInfo->bmiHeader.biWidth * (DWORD)3) *
														(DWORD)BitmapInfo->bmiHeader.biHeight;
		BitmapInfo->bmiHeader.biClrUsed = 0;
		BitmapInfo->bmiHeader.biClrImportant = 0;

		HRed = GlobalAlloc(GHND, img_size);
		PRed[0] = (BYTE *)GlobalLock(HRed);

		HGreen = GlobalAlloc(GHND, img_size);
		PGreen[0] = (BYTE *)GlobalLock(HGreen);

		HBlue = GlobalAlloc(GHND, img_size);
		PBlue[0] = (BYTE *)GlobalLock(HBlue);

		PPixel = Prgb;

		Pcfa[0] = (BYTE *)ptradr;
		j = width;
		for(i = 1;i < height;i++)
		{
			PRed[i] = PRed[0] + j;
			PGreen[i] = PGreen[0] + j;
			PBlue[i] = PBlue[0] + j;
			Pcfa[i] = Pcfa[0] + j;
			j += width;
		}

	}
	BitmapInfo->bmiHeader.biHeight = -height;
			
	debug_info(camera,0);
			
	lDC = GetDC(pparams->hwnd);
			
	
	if(sensor_type == 0)
		OldPal = SetBMPPalette(lDC,pparams->hwnd,&hPal);   // Set black/white Palette 
	
	//if (hardware_version == 2)
	//	set_grab_param(camera,1024,1280);

	if (trigger_role == 0)
		error = grab_image(camera,0,0);	
	else
		error = grab_sync_image_on_trigger(camera,0,1);			//Bild grabben mit Sync-Signal			
	while (!pparams->bKill)
	{
		QueryPerformanceCounter(&llnHPT1);

		if (trigger_role == 0)
			error = grab_image(camera,0,0);	
		else
			error = grab_sync_image_on_trigger(camera,0,1);			//Bild grabben mit Sync-Signal			
		if(error)
		{
			pparams->bKill = TRUE;
			break;
		}

		
    

 


       temppix=PPixel;
       for(i=0;i<width;i++)
	   {
		for(j=0;j<height;j++)
		{  if(*(temppix+i*height+j)>128)
		       *(temppix+i*height+j)=255;
	     	else
		    	*(temppix+i*height+j)=0;
		}
	   }
 
		//custom specific preprocessing in FPGA
		//mark specific pixels
		/*
		for (i=0;i<1024;i++)
		{
			write_fpga(camera,0x0070, (DWORD)i);
			read_fpga(camera,0x0070, &lhelp);
			PPixel[(i*1280)+lhelp] = 0xff;
		}
		*/
		QueryPerformanceCounter(&llnHPT2);
		if(sensor_type == 1)
			make_rgb(PPixel,Pcfa,PRed,PGreen,PBlue);
	
		SetDIBitsToDevice(lDC,0,0,width,height,hPos,0,vPos,height,
								PPixel,(LPBITMAPINFO)BitmapInfo,DIB_RGB_COLORS);
		

		llnT_uSec.QuadPart = ( (llnHPT2.QuadPart - llnHPT1.QuadPart) * // Time Delta
				                    ((LONGLONG)1E9/llnHPTimerFreq.QuadPart) ) / 
								         (LONGLONG)1E3; // could divide by 1E9 for Time in Sec
		sprintf(s_str,"%3d Sec: %03d mSec: %03d  uSec\n", 
				llnT_uSec.LowPart/(LONG)1E6, (llnT_uSec.LowPart/(LONG)1E3)%(1000), 
				(llnT_uSec.LowPart)%(1000));

			
		set_status_bar(0,s_str);
	}
			
	if(error)
	{
		sprintf(s_str,"Error = %d",error);
		MessageBox(pparams->hwnd,s_str,"ERROR",MB_OK);
	}
		
	debug_info(camera,1);

	if(sensor_type == 0)
		SelectPalette(lDC, OldPal, FALSE);    // Alte Palette wieder setzen
	
	if(sensor_type == 1)
	{
		GlobalUnlock(HRed);
		GlobalFree(HRed);

		GlobalUnlock(HGreen);
		GlobalFree(HGreen);

		GlobalUnlock(HBlue);
		GlobalFree(HBlue);
	}
	
	ReleaseDC(pparams->hwnd,lDC);
	DeleteObject(hPal);

	set_status_bar(0,"");

	return(0);
}

BYTE SaveBmp(char *fname)
{
	FILE *hfile;
	BYTE *buf;
	DWORD ptradr;
	HCURSOR OldCursor;
	BITMAPFILEHEADER bmpfilehdr;
	int i,offset,rgb_h;
			
			
	OldCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));
			
	if ((hfile = fopen(fname,"wb" )) == NULL)
	{
		SetCursor(OldCursor);
		return(1);
	}
			
	if(sensor_type == 0)
	{
		offset = 256 * sizeof(RGBQUAD);
		rgb_h = 1;
	}
	if(sensor_type == 1)
	{
		offset = 0;
		rgb_h = 3;
	}
	// build bmp headers
	bmpfilehdr.bfType = 0x4D42;                 // "BM"
	bmpfilehdr.bfSize = BitmapInfo->bmiHeader.biSizeImage + sizeof(BITMAPINFOHEADER) + sizeof(BITMAPFILEHEADER) + offset;
	bmpfilehdr.bfReserved1 = 0;
	bmpfilehdr.bfReserved2 = 0;
	bmpfilehdr.bfOffBits = sizeof(BITMAPINFOHEADER) + sizeof(BITMAPFILEHEADER) + offset;
		
	// write the BMP FILE Headers
	if(fwrite(&bmpfilehdr, sizeof(BITMAPFILEHEADER),1,hfile) == 0)
	{
		SetCursor(OldCursor);
		return(2);
	}
	BitmapInfo->bmiHeader.biHeight = abs(BitmapInfo->bmiHeader.biHeight);
			
	// write the BMP INFO Header
	if(fwrite(BitmapInfo, sizeof(BITMAPINFOHEADER) + offset,1,hfile) == 0)
	{
		SetCursor(OldCursor);
		return(2);
	}
			
	if(sensor_type == 0)
	{
		get_pixel_ptr(camera,0, &ptradr);
		buf = (BYTE *)ptradr;
	}
	if(sensor_type == 1)
	{
		buf = (BYTE *)Prgb;
	}

	buf = buf + ((BitmapInfo->bmiHeader.biWidth * rgb_h) * (BitmapInfo->bmiHeader.biHeight - 1));
	for(i = BitmapInfo->bmiHeader.biHeight -1 ;i >= 0;i--)
	{
				
		if(fwrite((BYTE *)buf,BitmapInfo->bmiHeader.biWidth * rgb_h,1,hfile) == 0)
		{
			SetCursor(OldCursor);
			return(2);
		}
		buf -= BitmapInfo->bmiHeader.biWidth * rgb_h;
	}
	BitmapInfo->bmiHeader.biHeight = -BitmapInfo->bmiHeader.biHeight;
	fclose(hfile);
	SetCursor(OldCursor);
	return 0;
} // save_bmp



void SetLUT(BYTE mode)
{
	int i;
	BYTE val, val_normal, val_low_light;

	// attention!!! we must disable debug infos
	debug_info(camera,0);

	for(i = 0;i < 1024;i++)
	{
		val_normal = (BYTE)(i / 4);
		if (i<256)
			val_low_light = (BYTE)i;
		else
			val_low_light = 255;

		if(mode == 0)
			val = val_normal;
		if(mode == 1)
			val = ~val_normal;
		if(mode == 2)
			val = val_low_light;
		if(mode == 3)
			val = ~val_low_light;
		
		set_lut(camera,(WORD)i,val);
	}
	// enable debug infos
	debug_info(camera,1);
}


void CAN_Demo(BYTE mode)
{
	int i;
	BYTE buf[8],error,len;
	char l_str[200];
	DWORD id;
	WORD flags;


	error = init_can(camera,125,0x7ff);	
	if(error)
	{
		sprintf(l_str,"init can error %d",error);
		MessageBox(NULL ,l_str,"test",MB_OK);
		return;
	}

	if(mode == 0)	
	{
		// send message
		buf[0] = 0;
		buf[1] = 1;
		buf[2] = 2;
		buf[3] = 3;
		buf[4] = 4;
		buf[5] = 5;
		buf[6] = 6;
		buf[7] = 7;

		error = send_can(camera,100,8,0,buf);
		if(error)
		{
			sprintf(l_str,"send error %d",error);
			MessageBox(NULL ,l_str,"test",MB_OK);
		}
	}
	else		
	{
		// receive message
		error = receive_can(camera,&id,&len,&flags,buf);
		if(error)
		{
			sprintf(l_str,"receive error %d",error);
			MessageBox(NULL ,l_str,"test",MB_OK);
		}
		else
		{
			if(len == 0)
				sprintf(l_str,"no message available");
			else
				sprintf(l_str,"id = %ld\nlen = %d\nflags = %d\nb0 = %d\nb1 = %d\nb2 = %d\nb3 = %d\nb4 = %d\nb5 = %d\nb6 = %d\nb7 = %d\n",
										id,len,flags,buf[0],buf[1],buf[2],buf[3],buf[4],buf[5],buf[6],buf[7]);

			MessageBox(NULL ,l_str,"test",MB_OK);

		}
	}
	close_can(camera);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品伦一区| 精品久久久久久久人人人人传媒| 久草这里只有精品视频| 亚洲国产成人av| 亚洲超碰精品一区二区| 视频一区在线视频| 青草av.久久免费一区| 午夜精品久久久久久久| 日韩黄色免费电影| 狠狠色狠狠色综合系列| 国产精一品亚洲二区在线视频| 国产成人在线网站| 白白色 亚洲乱淫| 欧美日韩一区二区三区在线 | 中文字幕成人av| 中文字幕第一区综合| 18欧美亚洲精品| 偷拍自拍另类欧美| 狠狠色丁香久久婷婷综| 国产大片一区二区| 欧美手机在线视频| 久久色.com| 亚洲激情图片一区| 久久91精品久久久久久秒播| 成人动漫一区二区三区| 一本色道久久综合亚洲精品按摩| 欧美日韩激情在线| 精品福利二区三区| 一区二区三区精品在线| 久久精品99国产国产精| 9久草视频在线视频精品| 91精品国产综合久久国产大片| 久久久久国产成人精品亚洲午夜| 成人免费小视频| 麻豆精品视频在线| 色94色欧美sute亚洲线路一久| 日韩一区二区三区av| 中文天堂在线一区| 久久99精品国产| 色噜噜夜夜夜综合网| 久久亚区不卡日本| 午夜久久电影网| 99热精品一区二区| 久久久久久久久久电影| 午夜久久久影院| 色八戒一区二区三区| ww亚洲ww在线观看国产| 亚洲444eee在线观看| www.色综合.com| 久久一夜天堂av一区二区三区| 亚洲国产精品影院| 色一情一伦一子一伦一区| 精品国产一区二区三区久久久蜜月| 亚洲乱码中文字幕综合| 成人avav在线| 欧美国产精品一区二区三区| 老司机精品视频导航| 欧美色网站导航| 亚洲精品网站在线观看| www.日韩av| 亚洲视频一二三区| 国产91精品一区二区麻豆网站| 日韩三级免费观看| 日产欧产美韩系列久久99| 欧美日韩一区二区三区视频| 成人欧美一区二区三区小说| 波多野结衣中文字幕一区二区三区| 久久久久久久免费视频了| 精品一区二区在线免费观看| 欧美一区二区三区四区高清| 亚洲福利一二三区| 欧美剧情电影在线观看完整版免费励志电影| 中文字幕高清不卡| 成人av在线网| 亚洲另类春色国产| 91精品1区2区| 亚洲aaa精品| 日韩一级成人av| 久久精工是国产品牌吗| 精品处破学生在线二十三| 精品一区二区免费在线观看| 精品欧美一区二区三区精品久久| 久久99精品网久久| 国产欧美精品一区二区三区四区 | 亚洲午夜电影网| 日韩高清不卡一区二区三区| 国产日韩av一区| 国产精品黄色在线观看| 中文字幕中文字幕一区二区| 亚洲精品一区二区三区福利| 日韩欧美电影一二三| 日韩精品在线网站| 国产精品国产三级国产有无不卡 | 久久一区二区三区四区| 日韩av在线播放中文字幕| 在线不卡中文字幕播放| 美女免费视频一区| 国产视频视频一区| 色偷偷成人一区二区三区91 | 国产精品久久久久久福利一牛影视 | 精品88久久久久88久久久| 蜜臀av性久久久久av蜜臀妖精 | 亚洲精品自拍动漫在线| 欧美人xxxx| 成人午夜电影网站| 一级中文字幕一区二区| 欧美日韩美女一区二区| 国产精品一线二线三线精华| 亚洲美女免费视频| 欧美疯狂做受xxxx富婆| 粉嫩绯色av一区二区在线观看| 一区二区三区资源| 精品国产电影一区二区| 91福利视频网站| 麻豆精品视频在线观看视频| 亚洲欧美综合在线精品| 日韩一卡二卡三卡四卡| 色欧美88888久久久久久影院| 蜜桃一区二区三区在线| 136国产福利精品导航| 精品成人一区二区三区| 色婷婷综合中文久久一本| 国产在线国偷精品免费看| 亚洲国产另类av| 国产精品久久网站| 精品成人佐山爱一区二区| 欧美日韩午夜在线视频| 国产精品一区免费在线观看| 亚洲国产日日夜夜| 中文字幕欧美一| 久久欧美一区二区| 日韩一区二区麻豆国产| 日本精品一区二区三区四区的功能| 捆绑紧缚一区二区三区视频| 成人激情av网| 国产精品国产三级国产普通话蜜臀 | 欧美色视频一区| 亚洲日本在线看| 色欧美乱欧美15图片| 日韩国产高清在线| 久久综合狠狠综合久久激情| 91精品国产福利| 欧美日韩一卡二卡三卡| 色综合久久中文字幕综合网| 国产xxx精品视频大全| 免费观看日韩电影| 蜜臀av在线播放一区二区三区 | 国产欧美日韩三区| 日韩一区二区在线看片| 日韩一区二区在线看片| 欧美久久久久久久久| 欧美酷刑日本凌虐凌虐| 欧美另类久久久品| 欧美一级免费观看| 精品国产91九色蝌蚪| 精品福利一二区| 国产色91在线| 中文久久乱码一区二区| 亚洲欧洲国产日本综合| 亚洲猫色日本管| 亚洲国产你懂的| 秋霞电影网一区二区| 经典三级一区二区| 成人av资源网站| 在线视频综合导航| 91.麻豆视频| 久久久久国产精品人| 国产精品黄色在线观看 | 欧美日韩精品一区二区三区 | 老司机精品视频一区二区三区| 裸体在线国模精品偷拍| 激情亚洲综合在线| 成人免费视频一区二区| 91精品办公室少妇高潮对白| 欧美日韩国产经典色站一区二区三区 | 极品少妇一区二区| 成人午夜在线视频| 欧美日韩亚洲综合| 久久综合久久鬼色中文字| 国产精品理伦片| 日本亚洲免费观看| 成人sese在线| 欧美日韩精品一区二区三区蜜桃 | 91精品麻豆日日躁夜夜躁| 亚洲精品一区二区在线观看| 中文字幕一区二区三区不卡| 亚洲国产精品综合小说图片区| 开心九九激情九九欧美日韩精美视频电影 | 91精品国产综合久久精品app| 欧美精品一区二区三区四区 | 亚洲二区在线观看| 国产一区二区三区在线看麻豆| 97国产精品videossex| 欧美mv日韩mv| 亚洲在线观看免费| 国产不卡视频一区| 7777精品伊人久久久大香线蕉经典版下载 | 偷拍一区二区三区| 国产成人精品免费网站| 欧美精品 日韩|