[求助]简单的图像识别,不知道该怎么实现。
各位前辈们,老板要我做一个简单的灰度图像识别,但是我不指导该如何下手啊。
用USB摄像头照一个黑色的区域,区域中哪个块亮了,就对应到一个动画里,动画里的一个汽车车灯就照亮一个地方,总之就是根据摄像头识别的光亮,来影响动画里车灯的照射。
我不知道该如何下手这方面啊,因为动画里车灯照射的区域是用贴图控制的,就好比我用手电筒照地面,我要一小块地方亮,别的地方都不亮,我就用黑色的纸把手电筒都罩住,只露出想要亮的地方。
求各位前辈给个指路的方向,或者想法,应该怎么做才好啊????这样我也好去学啊。
[解决办法]
至于视频捕获,你可以用VFW或DirectShow来进行捕获,VFW的方式你可以产靠我的这个文章:
http://blog.csdn.net/supermanking/article/details/3207341
要注意的是捕获后的数据色彩系统的问题,我的例子是RGB色彩系统,而市场上大多数是YUY2色彩系统,其实就是4个字节表示两个像素色彩的方式,其实也就是YUV色彩系统,只不过他是两个像素共用了一个值的压缩而已。你可以搜索YUY2就能找到相关东西的,我以前都还法过YUY2的处理过程。
至于 DirectShow,你可以下载 Direct SDK 来看看范例,我就不多说了。
[解决办法]
如果是简单的,倒也不难,但就是不能确保准确度足够,给你说说我的想法:
你可以把整个区域划分为多个小的区域,通过USB摄像头定时拍照,然后每个小区域读取一个点,和标准的颜色对比,如果颜色符合亮色,那就表示这个区域是亮的,反之就是暗的。值得说一下的是,USB拍的照片最好是预处理一下,比如二值化。
[解决办法]
楼主已经说是灰度图像了,颜色值直接可以作为亮度进行比较。
其他按照4楼的方法应该就可以了。
又:如果照亮范围比较大,将所有亮点的 x、y 坐标分别平均大概就是中心点坐标了。