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

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

?? 張昆修改.c

?? 攝像頭ov7620讀取 并支持ARM芯片 獲取圖像到LCD
?? C
?? 第 1 頁 / 共 3 頁
字號:

	label=0;
	while(label<12)
	{

		for(j=0;j<240;j++)
		{
			for(i=0;i<320*3;i++)
			{
				if(*(ptr2+320*3*j+i)==label)
				{
					total[label]++;
				}
			}
		}


		printf("total= %d/n",total[label]);
		if( (total[label]>200) && (total[label]<1000) )
		{
			for(j=0;j<240;j++)
			{
				for(i=0;i<320*3;i++)
				{
					if( (*(ptr2+i+320*3*j))==label )
						*(ptr1+i+320*3*j)=0;
				}
			}

		}

		label++;
	}

}
/*********************************************************************************************************
** Function name:   v4l_close 
** Descriptions: 關閉video   
** Input:  
** Output : 
** Created by:陳超
** Created Date: 2008.03.28
**********************************************************************************************************/
/*int v4l_close1(fb_v4l1 *vd1)
{
	close(vd1->fd);
	return 0;
}
int v4l_close2(fb_v4l2 *vd2)
{
	close(vd2->fd);
	return 0;
}
/*********************************************************************************************************
** Function name:   thin
** Descriptions:    細化(能彌補腐蝕的某種缺陷)
** Input:  *ptr1,  輸入的圖象數據指針
** Output : 無
** Created by:
** Created Date: 
**********************************************************************************************************
** Modified by:程德芳
** Modified Date: 2007-5-14
*********************************************************************************************************/
void thin(unsigned char *ptr1,unsigned char *ptr2)
{
	int i,j,m,n;
	unsigned char S[5][5];
	unsigned char count;
	int l;

	l=1;
	while(l==1)
	{
		l=0;
		for(i=2;i<240-2;i++)
		{
			for(j=2*3;j<320*3-2*3;j+=3)
			{
				if( (*(ptr1+320*3*i+j))>127 )
					continue;

				for(m=0;m<5;m++)
				{
					for(n=0;n<5;n++)
					{
						if( (*(ptr1+320*3*i+j+320*3*(2-m)+(n-2)*3))>127 )
							S[m][n]=0;
						else
							S[m][n]=1;
					}
				}

				//判斷條件1是否成立
				count=S[1][1]+S[1][2]+S[1][3]+S[2][1]+S[2][3]+S[3][1]+S[3][2]+S[3][3];
				if(count<2||count>6)
				{
					*(ptr1+320*3*i+j)=0;
					*(ptr1+320*3*i+j+1)=0;
					*(ptr1+320*3*i+j+2)=0;
					continue;
				}

				//判斷條件2是否成立
				count=0;
				if(S[1][2]==0 && S[1][1]==1)
					count++;
				if(S[1][1]==0 && S[2][1]==1)
					count++;
				if(S[2][1]==0 && S[3][1]==1)
					count++;
				if(S[3][1]==0 && S[3][2]==1)
					count++;
				if(S[3][2]==0 && S[3][3]==1)
					count++;
				if(S[3][3]==0 && S[2][3]==1)
					count++;
				if(S[2][3]==0 && S[1][3]==1)
					count++;
				if(S[1][3]==0 && S[1][2]==1)
					count++;


				if(count!=1)
				{
					*(ptr1+320*3*i+j)=0;
					*(ptr1+320*3*i+j+1)=0;
					*(ptr1+320*3*i+j+2)=0;
					continue;
				}

				//判斷條件3是否成立
				if(S[1][2]*S[2][1]*S[2][3]!=0)
				{
					count=0;
					if(S[0][2]==0 && S[0][1]==1)
						count++;
					if(S[0][1]==0 && S[1][1]==1)
						count++;
					if(S[1][1]==0 && S[2][1]==1)
						count++;
					if(S[2][1]==0 && S[2][2]==1)
						count++;
					if(S[2][2]==0 && S[2][3]==1)
						count++;
					if(S[2][3]==0 && S[1][3]==1)
						count++;
					if(S[1][3]==0 && S[0][3]==1)
						count++;
					if(S[0][3]==0 && S[0][2]==1)
						count++;

					if(count==1)
					{
						*(ptr1+320*3*i+j)=0;
						*(ptr1+320*3*i+j+1)=0;
						*(ptr1+320*3*i+j+2)=0;
						continue;
					}
				}

				//判斷條件4是否成立
				if(S[1][2]*S[2][1]*S[2][3]!=0)
				{
					count=0;
					if(S[1][1]==0 && S[1][0]==1)
						count++;
					if(S[1][0]==0 && S[2][0]==1)
						count++;
					if(S[2][0]==0 && S[3][0]==1)
						count++;
					if(S[3][0]==0 && S[3][1]==1)
						count++;
					if(S[3][1]==0 && S[3][2]==1)
						count++;
					if(S[3][2]==0 && S[2][2]==1)
						count++;
					if(S[2][2]==0 && S[1][2]==1)
						count++;
					if(S[1][2]==0 && S[1][1]==1)
						count++;

					if(count==1)
					{
						*(ptr1+320*3*i+j)=0;
						*(ptr1+320*3*i+j+1)=0;
						*(ptr1+320*3*i+j+2)=0;
						continue;
					}
				}


				*(ptr2+320*3*i+j)=*(ptr1+320*3*i+j);
				*(ptr2+320*3*i+j+1)=*(ptr1+320*3*i+j+1);
				*(ptr2+320*3*i+j+2)=*(ptr1+320*3*i+j+2);
				
			}
		}
		//memcpy(ptr1,ptr2,320*3*240);
	}
}
/**************************************************************************************************************
                                          main函數

***************************************************************************************************************/
int main( void )
{
	fb_v4l1 vd1;
    fb_v4l2 vd2;
int ret1,ret2,i,j,k,l,k1,c,p;
int z=0;
	
  
float D,D1,D2;
double zpz=0;
float jingtouchang=5;
float d=145;
float f=1.5;


int count=0;
double zp1=0,zp2=0;
//unsigned char   R1,G1,B1,Y1;
//unsigned char   R2,G2,B2,Y2;    
unsigned  char  *ptr;
	unsigned  char  *ptr0;
	unsigned  char  *ptr1;
    unsigned  char  *ptr2;
	unsigned  char  *ptr3;
	unsigned  char  *ptr4;
	unsigned  char  *ptr5;
	unsigned  char  *ptr6;
	unsigned  char  *ptr7;
	unsigned  char  *ptr8;
	unsigned  char  *ptr9;   
	unsigned  char  *ptr10;
	unsigned  char  *ptr11;
	unsigned  char  *ptr12;
	unsigned  char  *imageptr1;
	unsigned  char  *imageptr2;
	unsigned  char  *imageptr3;
	unsigned  char  *imageptr4;
for(c=0;c<2;c++)	              
{
	switch(c)	
	{
    case 0:
	ret1 = open_framebuffer1(FB_FILE,&vd1);		    // 打開FrameBuffer設備
	ret1 = open_video1( V4L_FILE0, &vd1,24,VIDEO_PALETTE_RGB24,320,240 );
	   if( 0!= ret1 )			                        // 打開視頻設備失敗
	   {
		goto err1;
	   }
    
	printf(vd1.capability.name);
	printf(", Type:%d\n",vd1.capability.type);
	printf("Maxwidth:%d,Maxheight:%d\n",vd1.capability.maxwidth ,vd1.capability.maxheight);
	printf("Minwidth:%d,Minheight:%d\n",vd1.capability.minwidth,vd1.capability.minheight);
	printf("Channels:%d,Audios:%d\n",vd1.capability.channels,vd1.capability.audios);

        for(z=0;z<10;z++)    
		{  imageptr1= get_frame_address1( &vd1 );
		   imageptr2= get_frame_address1( &vd1 );
		   ptr= get_frame_address1( &vd1 );
	       ptr1= get_frame_address1( &vd1 );
		   ptr2= get_frame_address1( &vd1 );
		   ptr3= get_frame_address1( &vd1 );
           ptr4= get_frame_address1( &vd1 );
		   ptr5= get_frame_address1( &vd1 );
		   ptr6= get_frame_address1( &vd1 );
		
		   grey(ptr1,ptr2);
		   gao_la24(ptr2,ptr3);
		   thin(ptr3,ptr4);
		   prewitt0(ptr4,ptr6,0.8);
		   //line(ptr5,ptr6);
		  // gao_la24(ptr5,ptr6);
		   for(j=0;j<240;j++)
		   {
		    	for(i=0;i<320;i++)
				{   
				*(imageptr2+i+j*320)=((*(ptr6+3*i+j*320*3)&0xC0)>>6)|((*(ptr6+(3*i+1)+j*320*3)&0xE0)>>3)|((*(ptr6+(3*i+2)+j*320*3)&0xE0));
				//(ptr+i*3+1+j*320*3)=((*(imageptr1+3*i+j*320*3)&0x1c)<<3)|(*(imageptr1+(3*i+1)+j*320*3)&0x1c)|((*(imageptr1+(3*i+2)+j*320*3)&0x30)>>4);
				//(ptr+i*3+2+j*320*3)=((*(imageptr1+3*i+j*320*3)&0x03)<<5)|((*(imageptr1+(3*i+1)+j*320*3)&0x03)<<2)|((*(imageptr1+(3*i+2)+j*320*3)&0x03));
						
				}
		   }
		   
		   rgb_to_framebuffer1(&vd1,320,240,0,0,imageptr2);
	       if(get_next_frame1( &vd1 ) !=0 )	
			{	// 獲取圖像數據出錯
					goto err1;
			}		
		}		
  close(vd1.fd);
 
  break;
  case 1:
	ret2 = open_framebuffer2(FB_FILE,&vd2);		    // 打開FrameBuffer設備
	ret2 = open_video2( V4L_FILE1, &vd2,24,VIDEO_PALETTE_RGB24,320,240 );
	    if( 0!= ret2 )			                        // 打開視頻設備失敗
		{
	    	goto err2;
		}
	    printf(vd2.capability.name);
	    printf(", Type2:%d\n",vd2.capability.type);
	    printf("Maxwidth2:%d,Maxheight2:%d\n",vd2.capability.maxwidth ,vd2.capability.maxheight);
	    printf("Minwidth2:%d,Minheight2:%d\n",vd2.capability.minwidth,vd2.capability.minheight);
	    printf("Channels2:%d,Audios2:%d\n",vd2.capability.channels,vd2.capability.audios);
    for(z=15;z>0;z--)
	{
	
		imageptr3= get_frame_address2( &vd2 );
		imageptr4= get_frame_address2( &vd2 );
		ptr7= get_frame_address2( &vd2 );//獲取幀地址.調用該函數可以獲取當前幀的緩沖地址
		ptr8= get_frame_address2( &vd2 );
		ptr9= get_frame_address2( &vd2 );
		ptr10= get_frame_address2( &vd2 );
        ptr11= get_frame_address2( &vd2 );
        ptr12= get_frame_address2( &vd2 );
	    grey(ptr7,ptr8);
		gao_la24(ptr8,ptr9);
		thin(ptr9,imageptr3);
		prewitt0(imageptr3,imageptr4,0.8);
		//line(ptr11,imageptr4);
		for(j=0;j<240;j++)
		   {
		    	for(i=0;i<320;i++)
				{   
				*(ptr10+i+j*320)=((*(imageptr4+3*i+j*320*3)&0xC0)>>6)|((*(imageptr4+(3*i+1)+j*320*3)&0xE0)>>3)|((*(imageptr4+(3*i+2)+j*320*3)&0xE0));
				//(ptr+i*3+1+j*320*3)=((*(imageptr1+3*i+j*320*3)&0x1c)<<3)|(*(imageptr1+(3*i+1)+j*320*3)&0x1c)|((*(imageptr1+(3*i+2)+j*320*3)&0x30)>>4);
				//(ptr+i*3+2+j*320*3)=((*(imageptr1+3*i+j*320*3)&0x03)<<5)|((*(imageptr1+(3*i+1)+j*320*3)&0x03)<<2)|((*(imageptr1+(3*i+2)+j*320*3)&0x03));
						
				}
		   }
		 
		/* for(j=0;j<240;j++)
		   {
		    	for(i=0;i<320;i++)
				{   
				*(ptr5+i+j*320)=((*(imageptr2+3*i+j*320*3)&0xC0)>>6)|((*(imageptr2+(3*i+1)+j*320*3)&0xE0)>>3)|((*(imageptr2+(3*i+2)+j*320*3)&0xE0));
				//(ptr+i*3+1+j*320*3)=((*(imageptr1+3*i+j*320*3)&0x1c)<<3)|(*(imageptr1+(3*i+1)+j*320*3)&0x1c)|((*(imageptr1+(3*i+2)+j*320*3)&0x30)>>4);
				//(ptr+i*3+2+j*320*3)=((*(imageptr1+3*i+j*320*3)&0x03)<<5)|((*(imageptr1+(3*i+1)+j*320*3)&0x03)<<2)|((*(imageptr1+(3*i+2)+j*320*3)&0x03));
						
				}
		   }*/
		//prewitt0(ptr10,imageptr4,1.5);
		//gao_la24(imageptr4,ptr11);
	rgb_to_framebuffer2(&vd2,320,240,0,0,ptr10);
	    if(get_next_frame2( &vd2 ) !=0 )	
		{	// 獲取圖像數據出錯
	    	goto err2;
		}	
	}
}
}		
/*for(j=126;j<127;j++)
{
			
	for (i=100;i<200;i++)
	{
			R1=*(ptr1 + 3*i + j*320*3);//灰度處理
		    G1=*(ptr1+(3*i+1)+j*320*3);
			B1=*(ptr1+(3*i+2)+j*320*3);
			Y1=(9798*R1+19235*G1+3735*B1)/32768;               
			*(ptr1 + 3*i + j*320*3)=Y1;
			*(ptr1+(3*i+1)+j*320*3)=Y1;
			*(ptr1+(3*i+2)+j*320*3)=Y1;
			if(Y1<50)
			*(ptr2 + i + j*320)=Y1;
			else
			{*(ptr2 + i + j*320)=255;}
			
			
			
			R2=*(ptr6 + 3*i + j*320*3);//灰度處理
		    G2=*(ptr6+(3*i+1)+j*320*3);
			B2=*(ptr6+(3*i+2)+j*320*3);
			Y2=(9798*R2+19235*G2+3735*B2)/32768;               
			*(ptr6 + 3*i + j*320*3)=Y2;
			*(ptr6+(3*i+1)+j*320*3)=Y2;
			*(ptr6+(3*i+2)+j*320*3)=Y2;
			if(Y2<50)
			*(ptr7 + i + j*320)=Y2;
			else
			*(ptr7 + i + j*320)=255;			
	}
}*/

for(p=0;p<3;p++)
{
D1=0;
for(j=60;j<180;j++)
{
	k1=0;		
	for (i=80;i<280;i++)
	{
               //printf("%d,%d\n",*(ptr3+i+j*320),*(ptr7+k+j*320));

			
	  //for(l=j-3;l<j+3;l++)
			//{
		       for(k=k1;k<320;k++)  
			   {
				
					if((k>0)&&(k<320))//&&(l>0)&&(l<240))
					{
						if((*(imageptr2+i+j*320)==*(ptr10+k+j*320))&&(*(imageptr2+i+j*320)>30)&&(i-k>28)&&(i-k<100))//&&(*(ptr6+i+j*320)==*(ptr12+i+j*320)))
						
						{
							
							D=(i-k)/3.2*jingtouchang;
							if(D1==0)
							{
							count++;
							zp1+=(d*f)/D;
							D1=D;
		                    printf("zp1 %f,%d,%d,%d,%f\n",zp1,i,j,k,D);
							}
							else if((D1/D<1.5)&&(D/D1<1.5))
							{
							count++;
							zp2+=(d*f)/D;
							D1=D;
		                    printf("%f,%d,%d,%d,%fdik\n",zp2,i,j,k,D);
							}
							
							k1=k+1;
							k+=320;	
						}
					}
				}
		}
	}

	
    zpz+=(zp1+zp2)/count;
}
zpz=zpz/3;
count=count/3;
	printf("共有匹配點%d個,所測距離為%f m\n",count,zpz);


err1:
	if(vd1.fbfd)
		close(vd2.fbfd);				                        // 關閉FrameBuffer設備

	if(vd1.fd)
		close(vd1.fd);
	exit(0);
	return 0;

err2:
	if(vd2.fbfd)
		close(vd2.fbfd);				                        // 關閉FrameBuffer設備

	if(vd2.fd)
		close(vd2.fd);
	exit(0);
return 0;
}	

	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本大道av伊人久久综合| 国产成人99久久亚洲综合精品| 日本一区二区三区四区在线视频| 久久综合成人精品亚洲另类欧美| 欧美性大战久久久| 在线观看三级视频欧美| 色狠狠综合天天综合综合| 91老司机福利 在线| av亚洲产国偷v产偷v自拍| 成人午夜电影网站| av亚洲精华国产精华精华 | 亚洲精品在线网站| 精品美女在线播放| 日本一区二区三区国色天香 | 欧美日本一区二区三区| 欧美性受xxxx黑人xyx性爽| 欧美日韩二区三区| 欧美一级片在线观看| 欧美videos中文字幕| 久久日韩精品一区二区五区| 国产欧美综合在线观看第十页| 国产欧美一区二区精品久导航| 国产精品久久久一区麻豆最新章节| 亚洲图片另类小说| 美美哒免费高清在线观看视频一区二区| 国产精品亚洲第一| 在线观看视频一区| 久久综合色天天久久综合图片| 国产精品日产欧美久久久久| 亚洲精品国产一区二区精华液| 蜜臀av性久久久久蜜臀av麻豆 | 91色在线porny| 欧美午夜片在线看| 久久免费午夜影院| 亚洲人成亚洲人成在线观看图片| 偷窥国产亚洲免费视频| 国产传媒久久文化传媒| 在线一区二区视频| 中文字幕精品一区| 日韩avvvv在线播放| 日本国产一区二区| 欧美成人欧美edvon| 一区二区三区日韩精品视频| 久久草av在线| 欧美视频一区二区三区在线观看 | 午夜精品福利一区二区蜜股av | 午夜精品福利视频网站| 丁香天五香天堂综合| 91精品国产综合久久久久久久 | 欧美日韩国产综合视频在线观看 | 国产精品少妇自拍| 免费精品视频在线| 欧美日韩情趣电影| 亚洲精品国产无天堂网2021| 国产精品一品视频| 精品国产精品网麻豆系列| 亚洲电影你懂得| 一本色道久久综合狠狠躁的推荐| 久久久亚洲精品石原莉奈| 亚洲电影一区二区三区| 99精品欧美一区二区三区综合在线| 久久久久久久久久久电影| 麻豆91小视频| 3d成人动漫网站| 亚洲福中文字幕伊人影院| 91女神在线视频| 一色桃子久久精品亚洲| 欧美欧美欧美欧美首页| 亚洲精品日韩综合观看成人91| 成人精品在线视频观看| 国产精品免费久久| www.激情成人| 中文字幕一区二区三区四区| 国产精品系列在线播放| 日韩精品中文字幕一区二区三区 | 精品国产91亚洲一区二区三区婷婷| 亚洲一区二区不卡免费| 在线视频亚洲一区| 亚洲一区二区三区四区中文字幕 | 亚洲超碰精品一区二区| 欧美无砖专区一中文字| 亚洲综合男人的天堂| 99v久久综合狠狠综合久久| 成人免费在线观看入口| 成人h动漫精品一区二区| 国产精品午夜在线| 久久无码av三级| 奇米综合一区二区三区精品视频| 欧美日韩一级黄| 日韩二区三区四区| 久久综合五月天婷婷伊人| 国产99久久精品| 亚洲日本在线天堂| 欧美日韩免费一区二区三区视频| 五月天欧美精品| 337p粉嫩大胆噜噜噜噜噜91av | 奇米777欧美一区二区| 欧美一级一区二区| 国产不卡视频一区| 樱花影视一区二区| 欧美videofree性高清杂交| 国产成人av电影在线| 成人欧美一区二区三区小说| 欧美手机在线视频| 国产美女一区二区| 一卡二卡欧美日韩| 国产午夜精品一区二区三区嫩草 | 丝袜美腿一区二区三区| 久久网站最新地址| 欧美视频一区二区三区在线观看| 日本不卡1234视频| 亚洲色图欧洲色图婷婷| 在线成人av网站| 成年人网站91| 天天综合色天天| 亚洲欧美一区二区视频| 日韩一级高清毛片| 91丨porny丨首页| 久草热8精品视频在线观看| 亚洲图片激情小说| 国产亚洲污的网站| 欧美精品第一页| 91网站最新网址| 国产不卡在线一区| 久久99精品久久只有精品| 亚洲欧美激情插| 国产日产欧产精品推荐色| 欧美日韩国产色站一区二区三区| 国产99久久久国产精品免费看| 免费在线看成人av| 亚洲一区二区三区影院| ㊣最新国产の精品bt伙计久久| 欧美一区二区观看视频| 欧美亚洲国产怡红院影院| 成人久久18免费网站麻豆| 国产一区二区三区精品欧美日韩一区二区三区 | 99re这里只有精品首页| 国产精品一级片| 久久99精品久久久久久国产越南| 亚洲第一综合色| 亚洲综合一二三区| 一区二区三区四区乱视频| 国产精品私房写真福利视频| 337p粉嫩大胆色噜噜噜噜亚洲 | 欧美三级资源在线| 色999日韩国产欧美一区二区| 岛国一区二区三区| 大胆亚洲人体视频| 成人免费视频视频| 成人午夜精品一区二区三区| 国产一区二区在线观看视频| 麻豆国产精品一区二区三区| 热久久一区二区| 日日摸夜夜添夜夜添精品视频| 亚洲第一搞黄网站| 日韩av电影天堂| 免费高清不卡av| 精品中文字幕一区二区| 国产永久精品大片wwwapp | 亚洲色图清纯唯美| 尤物在线观看一区| 午夜精品一区二区三区电影天堂 | 欧美刺激午夜性久久久久久久| 欧美日韩一区二区在线观看视频| 欧美日韩中文另类| 欧美精选一区二区| 欧美v日韩v国产v| 国产亚洲一区二区三区在线观看 | 欧美日本视频在线| 91精品欧美一区二区三区综合在| 日韩精品中文字幕一区二区三区| 欧美成人官网二区| 国产精品色婷婷| 自拍偷拍国产精品| 性做久久久久久| 国产中文字幕一区| 99精品视频一区| 91精品国产免费久久综合| 欧美大片在线观看一区| 国产欧美综合在线| 亚洲成人av电影| 国产在线播放一区三区四| 91香蕉国产在线观看软件| 欧美老女人第四色| 国产欧美视频在线观看| 一区二区三区不卡视频在线观看 | 亚洲欧洲精品一区二区精品久久久 | 国产欧美1区2区3区| 中文字幕一区二区5566日韩| 午夜视频久久久久久| 国产在线一区二区综合免费视频| av网站免费线看精品| 欧美一区二区三区四区在线观看 | 欧美性受xxxx| 国产欧美日产一区| 肉丝袜脚交视频一区二区| 成人app网站| 日韩美女视频在线| 一区二区三区毛片| 懂色av一区二区三区免费观看|