找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2479|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

求助ov7670攝像頭二值化怎么搞

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:245817 發(fā)表于 2017-11-3 20:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
求助!!!!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:269039 發(fā)表于 2018-1-1 13:29 | 只看該作者
將RGB格式 轉(zhuǎn)換為YUV格式的中的Y值 通過設(shè)置Y值中的 閾值來進行二值化
回復(fù)

使用道具 舉報

板凳
ID:269039 發(fā)表于 2018-1-1 13:30 | 只看該作者
void camera_refresh(void)
{
        u32 j;
        u16 color;
        u8 color_r,color_g,color_b;
       
        if(ov_sta)//有幀中斷更新?
        {
                LCD_Scan_Dir(U2D_L2R);                //從上到下,從左到右  
                if(lcddev.id==0X1963)LCD_Set_Window((lcddev.width-240)/2,(lcddev.height-320)/2,240,320);//將顯示區(qū)域設(shè)置到屏幕中央
                else if(lcddev.id==0X5510||lcddev.id==0X5310)LCD_Set_Window((lcddev.width-320)/2,(lcddev.height-240)/2,320,240);//將顯示區(qū)域設(shè)置到屏幕中央
                LCD_WriteRAM_Prepare();     //開始寫入GRAM       
                OV7670_RRST=0;                                //開始復(fù)位讀指針
                OV7670_RCK_L;
                OV7670_RCK_H;
                OV7670_RCK_L;
                OV7670_RRST=1;                                //復(fù)位讀指針結(jié)束
                OV7670_RCK_H;
                for(j=0;j<76800;j++)
                {
                        OV7670_RCK_L;
                        color=GPIOC->IDR&0XFF;        //讀數(shù)據(jù),低8位
                        OV7670_RCK_H;
                        color<<=8;  
                        OV7670_RCK_L;
                        color|=GPIOC->IDR&0XFF;        //讀數(shù)據(jù),高8位
                        OV7670_RCK_H;
//                        LCD->LCD_RAM=color;
                       
                        color_b=(color>>0)&0x1f;
            color_g=(color>>5)&0x3f;
                color_r=(color>>11)&0x1f;
                                               
                       
//                        從 RGB 到 YUV 空間的 Y 轉(zhuǎn)換公式為:
//              Y = 0.299R+0.587G+0.114B
//             color=(color_r*30+color_g*11+color_b*11+50)/100;

            color=(color_r*38+color_g*75+color_b*15)>>7;         //二值化

                       
             if(color>16)          LCD->LCD_RAM=0xffff;
              else                LCD->LCD_RAM=0x0000;

                }                                                             
                ov_sta=0;                                        //清零幀中斷標(biāo)記
                ov_frame++;
                LCD_Scan_Dir(DFT_SCAN_DIR);        //恢復(fù)默認(rèn)掃描方向
        }
}          
回復(fù)

使用道具 舉報

地板
ID:269039 發(fā)表于 2018-1-1 13:31 | 只看該作者
https://www.cnblogs.com/zhangjiansheng/p/6925722.html  RGB轉(zhuǎn)灰度的幾種算法
回復(fù)

使用道具 舉報

5#
ID:269039 發(fā)表于 2018-1-1 13:31 | 只看該作者
void camera_refresh(void)
//{
//        u32 j;
//         u16 color;
//        u8 color_r,color_g,color_b;
//       
//        if(ov_sta)//有幀中斷更新?
//        {
//                LCD_Scan_Dir(U2D_L2R);                //從上到下,從左到右  
//                if(lcddev.id==0X1963)LCD_Set_Window((lcddev.width-240)/2,(lcddev.height-320)/2,240,320);//將顯示區(qū)域設(shè)置到屏幕中央
//                else if(lcddev.id==0X5510||lcddev.id==0X5310)LCD_Set_Window((lcddev.width-320)/2,(lcddev.height-240)/2,320,240);//將顯示區(qū)域設(shè)置到屏幕中央
//                LCD_WriteRAM_Prepare();     //開始寫入GRAM       
//                OV7670_RRST=0;                                //開始復(fù)位讀指針
//                OV7670_RCK_L;
//                OV7670_RCK_H;
//                OV7670_RCK_L;
//                OV7670_RRST=1;                                //復(fù)位讀指針結(jié)束
//                OV7670_RCK_H;
//                for(j=0;j<76800;j++)
//                {
//                        OV7670_RCK_L;
//                        color=GPIOC->IDR&0XFF;        //讀數(shù)據(jù),低8位
//                        OV7670_RCK_H;
//                        color<<=8;  
//                        OV7670_RCK_L;
//                        color|=GPIOC->IDR&0XFF;        //讀數(shù)據(jù),高8位
//                        OV7670_RCK_H;
////                        LCD->LCD_RAM=color;
//                       
//                        color_b=(color>>0)&0x1f;
//            color_g=(color>>5)&0x3f;
//                color_r=(color>>11)&0x1f;
//                                               
//                       
////                        從 RGB 到 YUV 空間的 Y 轉(zhuǎn)換公式為:
////              Y = 0.299R+0.587G+0.114B
////             color=(color_r*30+color_g*11+color_b*11+50)/100;
//
//            color=(color_r*38+color_g*75+color_b*15)>>7;         //二值化

//                       
//             if(color>16)          LCD->LCD_RAM=0xffff;
//              else                LCD->LCD_RAM=0x0000;

//                }                                                             
//                 ov_sta=0;                                        //清零幀中斷標(biāo)記
//                ov_frame++;
//                LCD_Scan_Dir(DFT_SCAN_DIR);        //恢復(fù)默認(rèn)掃描方向
//        }
//}          
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表