中级会员
 
- 积分
- 211
- 金钱
- 211
- 注册时间
- 2017-6-16
- 在线时间
- 46 小时
|
想到的方法比较粗糙 效果不好
先把RGB565转化成RGB各8位 然后RGB都趋于0则认为该像素点是黑点 然后打印像素点的坐标
Camera_Data 为像素点 格式RGB565 i、j为坐标
#define RGB565_MASK_RED 0xF800
#define RGB565_MASK_GREEN 0x07E0
#define RGB565_MASK_BLUE 0x001F
//具体程序如下 分离三色
red = (Camera_Data & RGB565_MASK_RED) >> 11;
green = (Camera_Data & RGB565_MASK_GREEN) >> 5;
blue = (Camera_Data & RGB565_MASK_BLUE);
//补0填满8位
red <<= 3;
green <<= 2;
blue <<= 3;
if((red<=24)&&(green<=12)&&(blue<=24)) //各色趋于0 则认为接近黑色
printf("x=%d\ny=%d\r\n",j,i); //打印坐标
现象是一坨黑色如黑色键盘则串口会打印出坐标 在一张纸上画一条黑细线串口没反应不打印坐标
有没有哪位大侠做过图像识别的 指点指点 谢谢!
|
|