打印
[其他ST产品]

STM32F767+ov5640图像二值化

[复制链接]
354|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
各位大佬,谁做过将采集得图像进行二值化,目前图像采集没有问题,但是一直二值化有问题;我得二值化程序如下:
u32 dcmi_line_buf[2][jpeg_line_size];
//RGBÆÁÊý¾Ý½ÓÊջص÷º¯Êý
void rgblcd_dcmi_rx_callback(void)
{  
        u16 *pbuf;
        u32 i;
        if(DMA2_Stream1->CR&(1<<19))//DMAʹÓÃbuf1,¶ÁÈ¡buf0
                {
                        pbuf=(u16*)dcmi_line_buf[0];
                }
        else                                                 //DMAʹÓÃbuf0,¶ÁÈ¡buf1
                {
                        pbuf=(u16*)dcmi_line_buf[1];
                }        
       
        //二值化

                for(i=0;i<lcddev.width;i++)
                        {
                        *(pbuf+i)=Binary(*(pbuf+i));

                        }

        LTDC_Color_Fill(0,curline,lcddev.width-1,curline,pbuf);//DM2DÌî³ä
        if(curline<lcddev.height)curline++;
}


u16 Binary(u16 pixel)
{
               
        u16 R,G,B,RGB_R=0x1f,RGB_G=0x3f,RGB_B=0x1f;
        static  u16 Gray;
                //ÌáÈ¡R,G,BÖµ  Ò»°ãÊÇ8Ϊ¼ÆË㣬´Ë´¦Îª12λ¼ÆËã
                R=(pixel>>11)&RGB_R;
                G=( pixel>>5)&RGB_G;
                B=( pixel>>0)&RGB_B;
                //»Ò±È¶È¼ÆËã
//        Gray=(u16)(R*634+G*613+B*232);
          Gray = (B<<11)+(G<<5)+(R<<0); //2020825Ôö¼Ó
         
                if(Gray<THERSHOLD)
                Gray=WHITE;
                else if (Gray>THERSHOLD)
                Gray=BLACK;
                return Gray;
}


出来的图像如下:

7964c36487583d5f2c64eee1e153fc1.jpg (212.82 KB )

7964c36487583d5f2c64eee1e153fc1.jpg

使用特权

评论回复
沙发
zeshoufx| | 2020-11-2 08:44 | 只看该作者
谢谢分享【图像二值化】

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

271

帖子

2

粉丝