搜索
bottom↓
楼主: chunxx

STM32玩百万象素摄像头,分享经验

  [复制链接]

出0入0汤圆

发表于 2012-11-9 00:27:21 | 显示全部楼层
这个要好好研究

出0入0汤圆

发表于 2012-11-9 08:01:04 来自手机 | 显示全部楼层
正准备玩玩,谢谢楼主

出0入0汤圆

发表于 2012-11-9 09:01:36 | 显示全部楼层
楼主牛人啊!等用的着时再来看看

出0入0汤圆

发表于 2012-11-9 09:04:30 | 显示全部楼层
好强的帖子,关注

出0入0汤圆

发表于 2012-11-12 18:49:29 | 显示全部楼层
学习啦!!!!!!!!!!!!!

出0入0汤圆

发表于 2012-11-13 16:47:39 | 显示全部楼层
不错,好东西

出0入0汤圆

发表于 2012-11-13 19:35:17 | 显示全部楼层
支持一个!

出0入0汤圆

 楼主| 发表于 2012-11-17 14:50:40 | 显示全部楼层
继续报告,激光光点捕捉
实践用Blob算法捕捉激光光点,基本成功!
以前研究过这么个玩意:用摄像头拍摄激光教鞭(配合投影仪使用)画面,捕捉激光光点位置,由光点位置模拟鼠标移动。当时只做了个半成品,没有继续走下去, 当时收拾了一下放在博客上: chunxx.21ic.org 。这个东西还是有一定价值的,查到过好几篇这方面的研究生论文,市面上也见过类似的产品(好像叫“光影手”之类),貌似WII的遥控器也用了类似的东西。没有解剖过别人的东西,大致原理类似,用光学法捕捉最亮光点(可以是红外),以其位置替代鼠标输入。
以前做的时候搞了个投机,直接抓取模拟视频信号的电平最高点。用的是视频信号处理方法而不是图像处理方法。这个方式虽然机巧,毕竟是非主流,用来做产品的话,扩展性和遇到问题的解决余地有限,当时没往下走这也是一个考虑因素。个人认为做产品还是应该正大冲和。
不过当时也是没办法,没有合适的图像处理平台,总不能用上K价位的DSP来做一个替代鼠标的玩意吧!现在有了STM32 + fsmc-Camera平台,再次实验了一下以前的想法,证明基本上是可行的。

出0入0汤圆

 楼主| 发表于 2012-11-19 13:04:00 | 显示全部楼层
      主要涉及的是Blob中的区域标记算法,把二值化后为1的光斑按连接性一个个提取出来,这时得到的不再是象素,而是一个个独立的“物体”,可以计算出其重心、外接矩形、面积、周长等几何参数。激光光点的亮度比环境内其他物体都高,二值化后在画面上就是一个光斑,其面积可以粗略估计出来,重心坐标就是激光光点位置。
    Blob算法是以前在PC机上自己搞出来的,特点是资源需求小,正好移植到单片机上用,效果很好。这部分程序虽然不大,却是精髓,没有以前的基础是不敢做的。标记过程基本上脱离了Pixel图像,对内部RAM数据处理,整图标记几十ms就能完成。
    这个算法程序就不公开了,汗水与失眠的结晶,不能用来助长不劳而获。贴出整体调度程序:

出0入0汤圆

 楼主| 发表于 2012-11-19 13:04:41 | 显示全部楼层
int32 IMA_SpotPick(TObjBlob *pObjBlobs, int16 bufsize, int32 tar_area, int32 area_thre)
{
        TRectCell rc;
        int32 blobnum = 0, i, cnt = 0, id;
        uint8 full_search = 0;
        int32 min_size, min_area, min1;
        int32 area_sum;
        int32 w1, h1, tmp1;

        min_area = tar_area - area_thre;
        if (min_area < 256)
                min_area = 256;
        min_size = 2;

        //在ROI内搜索
        if (m_Prev_Found)
        {
                rc.x = m_Prev_CenterX - SPOT_ROI_WITDH/2;
                if (rc.x <0)
                        rc.x = 0;
                if (rc.x + SPOT_ROI_WITDH >= IMG_WIDTH)
                        rc.w = IMG_WIDTH - rc.x;
                else
                        rc.w = SPOT_ROI_WITDH;

                rc.y = m_Prev_CenterY - SPOT_ROI_HEIGHT/2;
                if (rc.y <0)
                        rc.y = 0;
                if (rc.y + SPOT_ROI_HEIGHT >= IMG_HEIGHT)
                        rc.h = IMG_HEIGHT - rc.y;
                else
                        rc.h = SPOT_ROI_HEIGHT;
               
                IMA_rl_Encode(&rc, 1, min_size);
                IMA_rl_labeling(&m_rlcImage);
                blobnum = IMA_rl_getBlob(pObjBlobs, bufsize, min_area);
        }
                //结果中找匹配的
        id = -1;
        min1 = 0x7fffff;
        area_sum = 0;
        for(i=0; i<blobnum; i++)
        {
                area_sum += pObjBlobs[i].area;
                if (pObjBlobs[i].area < tar_area + area_thre)
                {
                        cnt++;
                        if (abs(pObjBlobs[i].area - tar_area) < min1)        //面积判据
                        {
                                id = i;
                                min1 = abs(pObjBlobs[i].area - tar_area);
                        }
                }
        }
        if (id <0)
                full_search = 1;
       
        //没找到, 全屏搜索
        if (full_search)
        {
                rc.x = 0;
                rc.y = 0;
                rc.w = IMG_WIDTH;
                rc.h = IMG_HEIGHT;
                IMA_rl_Encode(&rc, 2, min_size);                //降分辨率scale
                IMA_rl_labeling(&m_rlcImage);
                blobnum = IMA_rl_getBlob(pObjBlobs, bufsize, min_area);

                //再次在结果中找匹配的
                id = -1;
                min1 = 0x7fffffff;
                area_sum = 0;
                for(i=0; i<blobnum; i++)
                {
                        area_sum += pObjBlobs[i].area;
                        w1 = pObjBlobs[i].ext_rect.right - pObjBlobs[i].ext_rect.left;
                        h1 = pObjBlobs[i].ext_rect.bottom - pObjBlobs[i].ext_rect.top;
                        tmp1 = MIN(w1, h1);
                        if ((pObjBlobs[i].area < tar_area + area_thre)                //面积判据
                                &&(abs(w1-h1) < tmp1/2))                                                //长宽比判据
                        {
                                cnt++;
                                if (abs(pObjBlobs[i].area - tar_area) < min1)
                                {
                                        id = i;
                                        min1 = abs(pObjBlobs[i].area - tar_area);
                                }
                        }
                }
        }       

        //ROI定义
        if (id>=0)
        {
                m_Prev_CenterX = pObjBlobs[id].center_x;
                m_Prev_CenterY = pObjBlobs[id].center_y;
                m_Prev_Found = 1;
        }
        else
        {
                m_Prev_Found = 0;
        }

#if 0
        //按面积估计,调节二值化阀值
        if ((area_sum > (tar_area + area_thre)*2)||(cnt>1)||(cnt==1 && (prev_binThre_adjUp !=0)))
        {               
                IMA_bin_threPercentAdj(-2);
                prev_binThre_adjUp = 0;
                m_Prev_Found = 0;
        }
        else if  ((full_search!=0) && (m_Prev_Found==0)&&(blobnum>0) &&(cnt==0)&&(prev_binThre_adjUp ==0))
        {
                IMA_bin_threPercentAdj(1);
                prev_binThre_adjUp = 1;
                m_Prev_Found = 0;
        }
#endif
                //Buffer最后一个清0,外部程序可以读出全部Blob
        if (blobnum < bufsize-1)
        {
                IMA_rl_blobInit(pObjBlobs + blobnum);
        }
        return(id);
}

出0入0汤圆

发表于 2012-11-19 23:18:54 来自手机 | 显示全部楼层
学习来了,我也想弄这个的

出0入0汤圆

 楼主| 发表于 2012-11-20 16:53:48 | 显示全部楼层
    这个处理过程用了两个技巧:多分辨率和ROI。多分辨率就是对缩小的图像处理,1280x1024这样的大图像处理一次,即使是简单的二值化,也是很耗费时间的,初始在全图范围内寻找目标时,没必要逐点分析,可以隔N点取一点得到一个缩小的图,对缩小的图分析,也就是牺牲几何精度换取时间。stm32 fsmc-Camera这个平台下,这个“缩小的图”是虚拟的,其实是读RAM的时候地址进位用(x+=scale)替代(x++)而已。
    ROI就是所谓“感兴趣区域”,象激光光点这样,上一帧图像找到了位置,下一帧图像内出现的位置偏移是有限的,在上一帧找到的中心点位置周围开一个框,在这个小框内寻找就可以了。这是一种常用的手段,至于框开多大,就要看具体场合经验判断啦。
    处理的策略很简单:前一帧未找到激光光点,在全图范围内缩小一倍(640x512)做Blob标记,找面积复合预定值的;前一帧已找到,在320x240大小的ROI内寻找,如未找到再做全部Scale式寻找。每次全图寻找,大致500ms内完成;ROI内寻找…60ms左右就可以完成!
    跟踪的结果用准确性和流畅性来评估,基本满意。在ROI内找<100ms时间,流畅是没有问题的,进入了全图寻找模式就有点卡,还好只要在图像范围内都能找到。准确性主要来自二值化的问题,二值化阀值跳到不准确位置时会把其他图块判断为目标,这是其他应用也会出现的问题,不过实际应用可以用硬件技巧解决:用650nm滤光片,可以把其他光都滤掉,二值化就是很简单的问题了!现在这里还是在自然光下找!

出0入0汤圆

 楼主| 发表于 2012-11-22 16:07:14 | 显示全部楼层
      发现一个实际问题,就是激光光点快速移动时,图像上拍出来的不是圆,而是水滴状流体形。这和感光原理有关,视觉暂留。这样只取重心作为光点位置就不大准确了,没什么好办法。加上帧间预测滤波也许是一个办法,另一种思路是把一个Blob分成两块,再分别求重心,再选择一个……有点复杂,暂不考虑。这个视觉暂留也反证用Blob方法是对的,开始考虑过用边缘检测,圆拟合法找圆心,那样的话可能走进死胡同。
    现在只是在LCD上显示跟踪结果,串口Printf()出来,实用化的话,可以用USB做一个虚拟Mouse设备,PC端做一些程序。不过暂时没有把它做成产品的计划,先不管它,有时间再玩。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-11-22 17:00:07 | 显示全部楼层
值得收藏

出0入0汤圆

发表于 2012-11-22 17:13:17 | 显示全部楼层
chunxx 发表于 2012-11-22 16:07
发现一个实际问题,就是激光光点快速移动时,图像上拍出来的不是圆,而是水滴状流体形。这和感光原理 ...

激光光点快速移动时,图像上拍出来的不是圆,而是水滴状流体形。
-------------------------------------------------------------------------
非全局电子快门传感器的通病,无解,只能通过提高FPS来改善

另 LZ仅实现找最亮激光光斑的功能的话 上面的就搞复杂了

出0入0汤圆

发表于 2012-11-22 17:15:31 | 显示全部楼层
STM32F103+cpld+OV7725
vga分辨率 60fps出光斑中心坐标无压力

出0入0汤圆

 楼主| 发表于 2012-11-23 17:45:03 | 显示全部楼层
这个连通域标记算法是以前搞的,只是移植一下。规则形状的标记是容易的,遇到分支、断裂什么的就比较麻烦了,象树枝、字符这样的形态很折磨人,当时搞的构想出N多形态,每每发现差不多了,又发现逻辑漏洞,极狼狈。
发两篇当时收集的老文章。






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-11-23 20:47:38 | 显示全部楼层
mark  。。。。。

出0入0汤圆

发表于 2012-11-23 21:23:32 | 显示全部楼层
一直想学STM32

出0入0汤圆

发表于 2012-11-23 22:11:20 | 显示全部楼层
楼主图像处理方面厉害啊,这么好的文章,可惜我暂时消化不了,先吞下吧……
楼主可否推荐一些入门的经典资料啊?

出0入0汤圆

 楼主| 发表于 2012-11-25 18:49:18 | 显示全部楼层
cf5257 发表于 2012-11-23 22:11
楼主图像处理方面厉害啊,这么好的文章,可惜我暂时消化不了,先吞下吧……
楼主可否推荐一些入门的经典资 ...

个人认为,教科书(理论)与代码(实验)相结合是最好的方式。偶刚开始的时候用别人程序,完全不明所以,后来有闲找了一套书,Visual C++数字图像处理,Visual C++数字图像模式识别之类,带有代码的,对照代码读,有时也把上面的程序移到C++ Builder上试一下(那时不习惯用VC),慢慢的就入手了。这些书好像随着VC升级也在升级,不过大同小异,也不难买到。值得一提是有一本《Delphi数字图像处理及高级应用》,受益良多,象我用的RGB与HSL转换算法就是从那里来的,可惜是Pascal的,本论坛上好像有人发过PDF版,你可以搜一下。
pdf论文是从cnki之类下的,这类东西水分太大,平时看是没什么价值的,不过有一些是别人工作的经验总结,虽然是一些普通学生或老师,但毕竟是一手经验,有时能发现一些很有价值的东西。

出0入0汤圆

发表于 2012-11-27 21:24:07 | 显示全部楼层
最近比较忙都没有上论坛,感谢楼主的细心指导,我先补充下理论。

楼主有用68013A采集过视频么,我目前是传输656格式的视频原始数据,由于数据量较大,传输经常会丢数据。

我想用MCU先把图片转换出来再传输,这样数据量就小很多了,我想用STM32F207,不知道可不可行?是否必须用FPGA呢?

出0入0汤圆

 楼主| 发表于 2012-11-28 14:08:48 | 显示全部楼层
cf5257 发表于 2012-11-27 21:24
最近比较忙都没有上论坛,感谢楼主的细心指导,我先补充下理论。

楼主有用68013A采集过视频么,我目前是传 ...

我想你需要的是一个JPEG Encoder吧?压缩成JPEG后数据量小得多,传输起来没什么压力;压力转到JPEG压缩上了,F10x压缩JPEG还是慢,F207我没用过,觉得有点高不成低不就,还是STM32这个系列的话,我觉得不如上F4。

出0入0汤圆

发表于 2012-11-28 15:54:53 | 显示全部楼层
楼主很厉害,学习了一点!

出0入0汤圆

发表于 2012-11-29 08:41:12 | 显示全部楼层
chunxx 发表于 2012-11-28 14:08
我想你需要的是一个JPEG Encoder吧?压缩成JPEG后数据量小得多,传输起来没什么压力;压力转到JPEG压缩上 ...

你说的一针见血,我现在是把ITU-R BT.656的视频数据(隔行27MB/S,逐行54MB/S),直接传输到PC,然后再PC处理。
这样问题就来了,由于USB2.0 HIGH SPEED理论最大带宽只有60MB/S(实际不能稳定在这么高的速度),所以传输逐行视频(54MB/S)信号时就丢数据很严重。

然后我就想到用MCU把ITU-R BT.656的视频数据(不是RGB或者YUV,需要先把656的数据转换成YUV再转换成RGB)直接生成图片,然后再传到PC,这样对传输带宽的要求就大大降低了。但是我在PC端完成这样过程都要1S左右,在MCU端我不知道可不可行,有人用FPGA做成了,但是FPGA我没学过,从头开始只能是没有选择的选择。

你说到可以尝试STM32F4,但是我有个疑问,F4的FSMC能够稳定的接收54MB/S的视频数据流么?数据如何缓存,需要1MB以上的高速Buffer啊,中间再加一个视频FIFO?

请多多指教,非常感谢!

出0入18汤圆

发表于 2012-11-29 08:48:37 | 显示全部楼层
shanyan 发表于 2012-9-25 17:44
MT9M001楼主有STM32的驱动代码吗?

o  也用 MT9M001 ? 呵呵 看来 这个很不错的 CMOS

出0入0汤圆

 楼主| 发表于 2012-12-3 18:04:19 | 显示全部楼层
cf5257 发表于 2012-11-29 08:41
你说的一针见血,我现在是把ITU-R BT.656的视频数据(隔行27MB/S,逐行54MB/S),直接传输到PC,然后再PC处理 ...

我还没时间玩STM32F4,按资料看IO速度应该可以上27M,不过能上又如何?它内部SRAM不足以存储一帧图像,还得要扩展Buffer。
ITU656的27M是一条捆人的绳子,纯粹就是为了配合CVBS信号采样,不过现在模拟视频也都在向高清转,CVBS信号会逐渐退出的。我玩这个CMOS Sensor一个主要的收获就是这玩意可以不受ITU656 27M时钟的约束。你如果是新做系统,建议不要受这个27M约束,尽量能让视频源作为Slave Device,而不是Master。

出0入0汤圆

发表于 2012-12-3 19:33:35 | 显示全部楼层
STM32F4 io最大84MHZ,FSMC 84MHZ(16BIT),DCMI  PCLK MAX:54MHZ,外挂RAM就好(必须选10ns级别的)

出0入0汤圆

发表于 2012-12-6 11:28:00 | 显示全部楼层
lz,我想请问一下usb camera这个数据格式是怎样的,我现在的情况是pc已经枚举到了usb camera设备,但是一直无图像显示,我试过两种方式,一种值jpeg格式,一种是yuv格式,都不行。yuv格式什么时候发送帧头,帧头格式又怎样,什么时候发送yuv数据,还有jpeg呢

出0入0汤圆

 楼主| 发表于 2012-12-6 17:04:30 | 显示全部楼层
ranxiaokang 发表于 2012-12-6 11:28
lz,我想请问一下usb camera这个数据格式是怎样的,我现在的情况是pc已经枚举到了usb camera设备,但是一直 ...

这个巨复杂,PC端一般都是Windows 的Directshow来读它,而Directshow如果你能提供驱动,什么格式的视频都可以往里丢。无驱动的一般是M-JPEG,不过要设置一大堆DirectShow的Filter,解开复用的数据流才能得到每帧的图像数据。现在不大在PC端写程序了,记不得,好像是Frame Capture CallBack什么的。

出0入0汤圆

发表于 2012-12-12 15:12:34 | 显示全部楼层
chunxx 发表于 2012-12-6 17:04
这个巨复杂,PC端一般都是Windows 的Directshow来读它,而Directshow如果你能提供驱动,什么格式的视频都 ...

想问一下,MT9V111是否和MT9M111一样的吗?有区别的吗?

出0入0汤圆

发表于 2012-12-14 15:34:39 | 显示全部楼层
牛人,值得学习

出0入0汤圆

发表于 2012-12-14 15:35:52 | 显示全部楼层
x8125062 发表于 2012-12-12 15:12
想问一下,MT9V111是否和MT9M111一样的吗?有区别的吗?

MT9V111 30W
MT9M111 130w
               

出0入0汤圆

发表于 2013-1-11 11:34:11 | 显示全部楼层
chunxx 发表于 2012-9-27 11:32
是用了SDRAM。有人支持就多罗唆几句。
用STM32玩摄像头,是从OV7670开始的,用BL422 FIFO的方式基本上没什 ...

你好~~我是一个学生现在我也是在学习JPEG的图像压缩和解压。。。。,,,我刚刚弄完这个摄像头的采集图像和jpeg的解压,想问您看看有木有压缩的源代码。。???我i们一起交流一下哦?谢谢你

出0入0汤圆

发表于 2013-1-11 12:03:12 | 显示全部楼层
大神~~~我现在正在学习jpeg 压缩,,能给你之前做的stm32上的压缩源代码给我一分的吗??我现在已经做了压缩的,,和图像采集的,,想学习一个整体的系统,,看看

出0入0汤圆

 楼主| 发表于 2013-1-11 13:51:26 | 显示全部楼层
qinsong123 发表于 2013-1-11 12:03
大神~~~我现在正在学习jpeg 压缩,,能给你之前做的stm32上的压缩源代码给我一分的吗??我现在已经做了压 ...

现在忙,没时间打理这个东西。
JPEG压缩的程序本来就包含在这些已经上传的源码里,如果你仔细看看,其实是没必要伸手的,唉!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-1-11 14:40:52 | 显示全部楼层
chunxx 发表于 2013-1-11 13:51
现在忙,没时间打理这个东西。
JPEG压缩的程序本来就包含在这些已经上传的源码里,如果你仔细看看,其实 ...

你好,嘿嘿  我只是想在硬件上面实现一下子看看,我觉得jpg很可以的,压缩效率很高。。。。。。谢谢你。。

出0入0汤圆

发表于 2013-1-12 10:17:27 | 显示全部楼层
大哥,你的板子是什么地方买的 还是自己做的呢??我想买一套做做实验,深入的学习一下stm32~~~~我的板子太垃圾了~~~~5555555555555555

出0入0汤圆

发表于 2013-1-12 10:18:00 | 显示全部楼层
chunxx 发表于 2012-11-25 18:49
个人认为,教科书(理论)与代码(实验)相结合是最好的方式。偶刚开始的时候用别人程序,完全不明所以, ...

大哥,你的板子是什么地方买的 还是自己做的呢??我想买一套做做实验,深入的学习一下stm32~~~~我的板子太垃圾了~~~~5555555555555555

出0入0汤圆

发表于 2013-1-13 21:49:16 | 显示全部楼层
楼主很厉害,佩服

出0入0汤圆

发表于 2013-1-14 11:20:05 | 显示全部楼层
LZ 很不错

出0入0汤圆

发表于 2013-2-18 09:08:50 | 显示全部楼层
您好!我是初学者,要做这一块的图像采集和处理,软硬件必须自己搞出来,你能给点学习建议吗??感觉你做的这个十分的高深啊,膜拜!!

出0入0汤圆

发表于 2013-2-18 09:15:49 | 显示全部楼层
njchenmin 发表于 2012-9-25 20:37
感觉这个比较强大了,不知道压缩一幅要多少时间

LZ东西很好!哥们的头像也不错!!

出0入0汤圆

发表于 2013-2-18 14:29:56 | 显示全部楼层
qinsong123 发表于 2013-1-12 10:18
大哥,你的板子是什么地方买的 还是自己做的呢??我想买一套做做实验,深入的学习一下stm32~~~~我的板子 ...

你目前做到什么程度了???我也是刚上手stm32,也是在做图像采集和处理这一块,可否进一步交流呢???

出0入0汤圆

 楼主| 发表于 2013-2-18 15:04:56 | 显示全部楼层
110011019 发表于 2013-2-18 14:29
你目前做到什么程度了???我也是刚上手stm32,也是在做图像采集和处理这一块,可否进一步交流呢??? ...

板子是自己做的,业余有时间就玩一下,年前忙的时候就放下,有一段时间了,不知道过段有没有时间继续玩。

出0入0汤圆

发表于 2013-2-18 15:31:59 | 显示全部楼层
chunxx 发表于 2013-2-18 15:04
板子是自己做的,业余有时间就玩一下,年前忙的时候就放下,有一段时间了,不知道过段有没有时间继续玩。 ...

我想用ov7670的摄像头,就是像素低老多了,不过还没有买下来呢。我想实现图像采集,sd卡存储,图像编码,lcd显示,不知道这里面的水有多深啊???

出0入0汤圆

发表于 2013-2-18 16:24:59 | 显示全部楼层
这么好的东西,好好消化一下。

出0入0汤圆

发表于 2013-2-18 17:30:39 | 显示全部楼层
视频上叠加字符就是OSD吗?

出0入0汤圆

发表于 2013-2-18 21:44:17 | 显示全部楼层
学习~~~~~

出0入0汤圆

发表于 2013-4-15 22:29:20 | 显示全部楼层
学习!!楼主牛!!

出0入0汤圆

发表于 2013-4-16 10:16:39 | 显示全部楼层
关注中啊,正在看资料也准备弄一个。

出0入0汤圆

发表于 2013-4-19 18:07:37 | 显示全部楼层
最近需要做相关的东西,持续关注中

出0入0汤圆

发表于 2013-4-19 18:37:01 | 显示全部楼层
mark,很好的东西啊

出0入0汤圆

发表于 2013-4-19 18:41:59 | 显示全部楼层

出0入0汤圆

发表于 2013-4-19 18:47:45 | 显示全部楼层
顶一个哦。。。

出0入0汤圆

发表于 2013-4-19 20:54:47 | 显示全部楼层
楼主和王工 都是牛逼的选手,顶一个。

出0入0汤圆

发表于 2013-4-28 12:13:14 | 显示全部楼层
楼主大牛,这个必须顶!向楼主学习

出0入0汤圆

发表于 2013-4-28 14:31:37 | 显示全部楼层
对于楼主哥哥这样的质量贴,即使十年后看到也要强力支持哦

出0入0汤圆

发表于 2013-5-17 14:13:21 | 显示全部楼层
~

出0入0汤圆

发表于 2013-5-30 08:20:49 | 显示全部楼层
chunxx 发表于 2012-9-29 10:11
王工犀利,指出了要点。
开始做这个的时候还没有F2,F4,F2出来的时候知道带有DCMI,感觉很不爽,难道又 ...

版主指导下,现在我用av摄像头出来的视频接5150转换成656格式的视频存储在sram中,dma中断后,转换数据为rgb给320×240的lcd显示,如下图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-5-30 08:39:20 | 显示全部楼层
chunxx 发表于 2012-12-3 18:04
我还没时间玩STM32F4,按资料看IO速度应该可以上27M,不过能上又如何?它内部SRAM不足以存储一帧图像,还 ...

在用f4,内部sram不是512m吗?这么大怎么会还存储不了一帧图像,我是菜鸟,求指导!我很真诚!

出0入0汤圆

发表于 2013-5-30 08:43:34 | 显示全部楼层
chunxx 发表于 2013-1-11 13:51
现在忙,没时间打理这个东西。
JPEG压缩的程序本来就包含在这些已经上传的源码里,如果你仔细看看,其实 ...

唉,伸手必被骂啊!上次想要一个哥们的程序研究(自己设备都还没有买回来),被骂“伸手党,一概不理”,哥要努力成长为猪头哥这样的大牛!

出0入0汤圆

发表于 2013-5-30 20:08:11 | 显示全部楼层
mark一下,回头用的上

出0入0汤圆

发表于 2013-5-30 21:18:41 | 显示全部楼层
这样的帖子, 有很强的指导意义啊。 必须MARK 一下、

出0入0汤圆

发表于 2013-7-22 11:58:14 | 显示全部楼层
mark,学习一下

出0入0汤圆

发表于 2013-7-22 12:51:40 | 显示全部楼层
以为USB。。。

出0入0汤圆

发表于 2013-7-22 13:06:39 | 显示全部楼层
學習了
很有幫助
感謝你的分享

出0入0汤圆

发表于 2013-7-23 20:20:40 | 显示全部楼层

好东东,先学习了

出0入0汤圆

发表于 2013-8-3 09:57:55 | 显示全部楼层
MARK一下

出0入0汤圆

发表于 2013-8-3 10:09:14 | 显示全部楼层

出0入0汤圆

发表于 2013-8-15 17:45:33 来自手机 | 显示全部楼层
mark…
顶一个…

出0入0汤圆

发表于 2013-8-16 10:48:26 | 显示全部楼层
虽然不懂,但这样的牛贴必须顶。。。。

出0入8汤圆

发表于 2013-8-16 15:18:18 | 显示全部楼层
很好,很强大                                

出0入0汤圆

发表于 2013-8-18 13:49:01 | 显示全部楼层
好东西啊,以后再慢慢研究

出5入4汤圆

发表于 2013-10-31 11:22:25 | 显示全部楼层
MARK,谢谢分享了,换用STMF407似乎性能能提升不少哦~~

出0入0汤圆

发表于 2013-11-3 15:40:57 | 显示全部楼层
chunxx 发表于 2012-9-27 11:32
是用了SDRAM。有人支持就多罗唆几句。
用STM32玩摄像头,是从OV7670开始的,用BL422 FIFO的方式基本上没什 ...

我是做图像识别的,看了楼主这个项目,希望合作做一个产品,有空加QQ21701659,谢谢

出0入0汤圆

发表于 2013-11-3 18:36:23 | 显示全部楼层
好东西~~这个必须顶~~~~

出0入0汤圆

发表于 2013-11-3 18:54:26 | 显示全部楼层
标记。研究研究

出0入0汤圆

发表于 2013-11-3 19:42:18 | 显示全部楼层
感谢分享,mark.

出0入0汤圆

发表于 2013-11-5 10:15:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2013-11-5 10:35:37 | 显示全部楼层
很强大,学习了

出0入0汤圆

发表于 2013-11-5 14:03:30 | 显示全部楼层
本帖最后由 tyw996 于 2013-11-5 14:05 编辑

楼主强!新出的stm32f42,43系列带有SDRAM接口了,请问楼主如果用stm32f42,43是否可以直接取代CPLD了,直接玩视频处理了?

出0入0汤圆

发表于 2013-11-5 18:24:34 | 显示全部楼层
stm32能采集摄像头的视频并实时显示到液晶上么

出0入0汤圆

发表于 2013-11-5 19:33:01 | 显示全部楼层
楼主我想学,你是搞这个方面的么?

出0入0汤圆

发表于 2013-11-5 20:37:10 | 显示全部楼层
楼主非常牛逼啊!!

出0入0汤圆

发表于 2013-11-5 22:27:48 | 显示全部楼层
hhhhhhhhhhhhhhhhhhhhhhhhh

出0入0汤圆

发表于 2013-11-12 17:50:20 | 显示全部楼层
赞一个。。。。。。。。。。

出0入0汤圆

发表于 2013-11-26 18:58:53 | 显示全部楼层
不错  好东西 有空也玩玩 小车 用用这看看

出0入55汤圆

发表于 2013-12-13 11:31:33 | 显示全部楼层
马克一个。楼主好样的!

出0入0汤圆

发表于 2013-12-13 13:32:22 | 显示全部楼层
用的是FSMC接口吧?

出0入0汤圆

发表于 2013-12-13 13:51:24 | 显示全部楼层
楼主厉害,跟着学习

出0入0汤圆

发表于 2013-12-13 13:56:29 | 显示全部楼层
这个不错

出0入0汤圆

发表于 2013-12-13 14:53:44 来自手机 | 显示全部楼层
这个看看

出0入0汤圆

发表于 2013-12-13 18:59:31 | 显示全部楼层
顶。。。。。。

出0入0汤圆

发表于 2013-12-13 20:45:25 | 显示全部楼层
学习中,关注中

出0入0汤圆

发表于 2014-1-3 23:09:13 | 显示全部楼层
很强悍嘛

出15入190汤圆

发表于 2014-1-4 11:01:34 来自手机 | 显示全部楼层
想用STM32驱动三个30万像素的相机同时拍照,然后每个图像作十字分割,二值化后提取特征判断,可否请楼主帮忙判断下,要是想2-3s内完成以上步骤,单用stm32可行吗?要是不行,直接使用电脑采用usb2.0或3.0可行吗?谢谢楼主,替老师干活,怕因知识点不足导致后期达不到要求白做,谢谢楼主啦

出0入0汤圆

 楼主| 发表于 2014-1-5 16:31:24 | 显示全部楼层
yuyanlzh 发表于 2014-1-4 11:01
想用STM32驱动三个30万像素的相机同时拍照,然后每个图像作十字分割,二值化后提取特征判断,可否请楼主帮 ...

给老师干活,就别挑战非常规路线,老老实实用PC机做。工业摄像头有USB2.0的,属于便宜常用,可提供驱动的,接两三个没问题,有问题的话是电脑太慢,该知道怎么做。

出15入190汤圆

发表于 2014-1-6 11:45:35 | 显示全部楼层
chunxx 发表于 2014-1-5 16:31
给老师干活,就别挑战非常规路线,老老实实用PC机做。工业摄像头有USB2.0的,属于便宜常用,可提供驱动的 ...

收到,多谢大侠指教

出0入0汤圆

发表于 2014-1-9 13:01:50 | 显示全部楼层
mark      
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 11:30

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表