拿/*采集像素点矩阵【(46,150),(49,154)】举例。实际坐标两者之间为一个四行5列20个点的矩阵,后面正好也是20个数!每行的第一个数减去前一行的第一个数=320.说明横向分辨率为320.(若为横纵比 4:3则为 320*240.若为 2:3 竖屏(嵌入式竖屏用的很多的)为320*480分辨率。)。
好我们继续计算,每行320个像素点 第46行的第150个点 = 46 * 320 +150 =14870.所以矩阵中的数为该像素点在每帧画面上的像素点序数~
题外话:STM32多用于对电机的控制,它的定时器有现成的编码器模式!比如直流电机的闭环控制。视频处理用STM32并不是一个好选择,术业有专攻。
目前市面上的开发板都没有GPRS模块,STM32F103系列的USB只是SLAVE(从属接口),不能接USB设备,所以不能接USB摄像头。建议方案:普通STM32F103开发板(最小系统板就可以)+GPRS模块+(并口或SPI)摄像头模块。
这个用STM32基本是做不了的做这样一个假设,拍到的人脸和储存的人脸所处的背景光强一致,背景图案一致,在图像中的位置一致,脸的尺寸一致等等,那么程序很简单了,二维数组对应位置减法,设定阈值确定是否是一个人。
实际情况是上述假设基本不满足,那么涉及到人脸识别算法就不会是加减法那么直接了,先不说如何匹配出两张人脸,首先你先确定出图像是否是人脸,根据openCV关于人脸识别和Haar分类器描述的算法可以了解到,这个计算过程需要大量的存储空间和运算速度。
如此大的系统开销只能确定这是否是人脸,我不知道如何匹配两个人脸,但根据haar的复杂度我可以认为STM32做不了。如果你不计计算时间成本的无限等待,那么也许能OK。
图像信息就是一个矩阵,或者说二维数组,图片本身就是压缩了矩阵信息的数据流,网上有很多软件可以把图片转换成二维数组的,再把这个二维数组写到STM32
flash里,代码里直接固化也可以,或者写一个读SD卡的程序,外接SD卡也可以。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)