新手上路
- 积分
- 20
- 金钱
- 20
- 注册时间
- 2019-7-31
- 在线时间
- 7 小时
|
1金钱
void OV7725_camera_refresh(void)
{
u32 i,j;
u16 color;
if(ov_sta)//ÓÐÖ¡ÖжϸüÐÂ
{
LCD_Scan_Dir(U2D_L2R); //´ÓÉϵ½ÏÂ,´Ó×óµ½ÓÒ
LCD_Set_Window((lcddev.width-OV7725_WINDOW_WIDTH)/2,(lcddev.height-OV7725_WINDOW_HEIGHT)/2,OV7725_WINDOW_WIDTH,OV7725_WINDOW_HEIGHT);//½«ÏÔÊ¾ÇøÓòÉèÖõ½ÆÁÄ»ÖÐÑë
if(lcddev.id==0X1963)
LCD_Set_Window((lcddev.width-OV7725_WINDOW_WIDTH)/2,(lcddev.height-OV7725_WINDOW_HEIGHT)/2,OV7725_WINDOW_HEIGHT,OV7725_WINDOW_WIDTH);//½«ÏÔÊ¾ÇøÓòÉèÖõ½ÆÁÄ»ÖÐÑë
LCD_WriteRAM_Prepare(); //¿ªÊ¼Ð´ÈëGRAM
OV7725_RRST=0; //¿ªÊ¼¸´Î»¶ÁÖ¸Õë
OV7725_RCK_L;
OV7725_RCK_H;
OV7725_RCK_L;
OV7725_RRST=1; //¸´Î»¶ÁÖ¸Õë½áÊø
OV7725_RCK_H;
for(i=0;i<OV7725_WINDOW_HEIGHT;i++)
{
for(j=0;j<OV7725_WINDOW_WIDTH;j++)
{
OV7725_RCK_L;
color=GPIOC->IDR&0XFF; //¶ÁÊý¾Ý
OV7725_RCK_H;
OV7725_RCK_L;
OV7725_RCK_H;
//²Êɫת»Ò¶ÈËã·¨
color=GRAY_2_RGB565(color);
//ºÚ°×¶þÖµ»¯
if(color<0x3000)
{
color=0x0000;//ºÚÉ«
}
else
{
color=0xffff;//°×É«
}
if(color==0x0000)
{
if(i>1&&i<239&&j<319&&j>1)
{
//±éÀú»ñÈ¡ÂÖÀª×ø±ê
if(i>X_MAX) X_MAX=i;
if(i<X_MIN) X_MIN=i;
if(j>Y_MAX) Y_MAX=j;
if(j<Y_MIN) Y_MIN=j;
//»ñÈ¡ÖÊÐÄ
X=(X_MAX+X_MIN)/2;
Y=(Y_MAX+Y_MIN)/2;
}
}
//»ñÈ¡¼´ÊÓÒ°ÖÐÐÄλÖÃ
if(j==160)
color =0x2222;//¶Ôʵ¼Ê·¾¶¸½¼ÓÁíÍâÒ»ÖÖÑÕÉ«ÏÔʾ
else
;
if(i==120)
color =0x2222;//¶Ôʵ¼Ê·¾¶¸½¼ÓÁíÍâÒ»ÖÖÑÕÉ«ÏÔʾ
else
;
LCD->LCD_RAM=color;
}
}
printf("Centroid_X_MAX:%d\r\n",X_MAX); //´òÓ¡X_MAX
printf("Centroid_X_MIN:%d\r\n",X_MIN); //´òÓ¡X_MIN
printf("Centroid_Y_MAX:%d\r\n",Y_MAX); //´òÓ¡Y_MAX
printf("Centroid_Y_MIN:%d\r\n",Y_MIN); //´òÓ¡Y_MIN
printf("Centroid_X:%d\r\n",X); //´òÓ¡y
printf("Centroid_Y:%d\r\n",Y); //´òÓ¡y
ov_sta=0; //ÇåÁãÖ¡Öжϱê¼Ç
ov_frame++;
LCD_Scan_Dir(DFT_SCAN_DIR); //»Ö¸´Ä¬ÈÏɨÃè·½Ïò
}
}
为什么这样提取出的最大值,最小值和质心都是错误的
|
|