智能车制作

标题: 手把手教你从零开始用labview编写智能车上位机程序(5) [打印本页]

作者: superyongzhe    时间: 2008-6-13 17:45
标题: 手把手教你从零开始用labview编写智能车上位机程序(5)
<><FONT color=#1a1ae6 size=6>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;图形绘制</FONT></P><P><FONT color=#1a1ae6 size=3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 今天应该是讲到这个教程的最后部分了,有人看了肯定会觉得才写了这么点就没了。对这个教程,我在一开始写的时候就就是以简单为主,告诉大家如何入手labview。我学这个也没多久,像内存优化之类的高级功能还不熟悉,多进程也只是用了点皮毛而已。而且,这个车上位机软件编写还需要根据你的车上的程序和实际需要来修改,我这里只是讲述如何编写通用的上位机软件,也就是说你想编这个上位机软件时肯定会用到的技术,至于那些比较花哨的东西(比如改背景)可以不要,所以全部省掉。</FONT></P><P><FONT color=#1a1ae6 size=3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 罗嗦了这么多,下面进入正题吧。在上篇中,我们拥有了一个简陋的通讯协议,在单片机上我们发送字符串“image”然后发送一个固定长度的图片,从左到右从上到下一次发送每个点的灰度值,而且这个灰度值的长度是固定的10*100。对于labview,每次收到的是4096个字节的字符串,从中搜索到“image”,然后把后面的10*100个字符串取出来,上位机就得到图像数据了。最后把这些数据用字“符串显示控件”显示出来,而且要把“符串显示控件”拖到合适大小才行。</FONT></P><P><FONT color=#1a1ae6 size=3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 现在呢,我们要把这个些图像数据显示成图像该怎么办呢?原因不说了,见步骤:</FONT></P><P><FONT color=#1a1ae6 size=3>(1)把这些字符串转化成“无符号字节数组”。</FONT></P><P><FONT color=#1a1ae6 size=3>编程面板:编程-&gt;字符串-&gt;字符串/数组/路径转换-&gt;&nbsp;“字符串至字节数组转换”&nbsp; </FONT><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图01.jpg"></P><P><FONT color=#1a1ae6 size=3>(2)上面得到的是一位数组,下面把它转化成10*100的二维数组。</FONT></P><P><FONT color=#1a1ae6 size=3>编程面板:编程-&gt;数组-&gt;“转换数组维数”</FONT></P><P><FONT color=#1a1ae6 size=3><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图04.jpg"></FONT></P><P><FONT color=#1a1ae6 size=3>(3)平化像素图</FONT></P><P><FONT color=#1a1ae6 size=3>编程面板:编程-&gt;图形与声音-&gt;图形格式-&gt;“平化像素图”</FONT></P><P><FONT color=#1a1ae6 size=3><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图05.jpg"></FONT></P><P><FONT color=#1a1ae6 size=3></FONT>&nbsp;</P><P><FONT color=#1a1ae6 size=3>(4)绘制平滑像素图</FONT></P><P><FONT color=#1a1ae6 size=3>编程面板:编程-&gt;图形与声音-&gt;图片函数-&gt;“绘制平化像素图”</FONT></P><P><FONT color=#1a1ae6 size=3>编程面板:编程-&gt;簇/类/与变体-&gt;“按名称捆绑”</FONT></P><P><FONT color=#1a1ae6 size=3><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图06.jpg"></FONT></P><P><FONT color=#1a1ae6 size=3>(5)右边接入图片控件,就可以显示了。</FONT></P><P><FONT color=#1a1ae6 size=3>前面板:新式-&gt;图形-&gt;控件-&gt;“图片”</FONT><BR><BR><BR><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图07.jpg"></P><P><FONT color=#1a1ae6></FONT>&nbsp;</P><P><IMG src="http://www.intelligentcar.cn/images/affix.gif"><A target=_blank href="http://download.intelligentcar.cn/bbsupfile//upfile/串口接收示例4.rar" target=_blank>串口接收示例4.rar</A></P><P><FONT color=#e61abd size=5>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 只要你的单片机程序没问题,现在应该可以显示图片了。但是这个程序实在是太简陋了,面临的问题还有很多:</FONT></P><P><FONT color=#2292dd size=4>(1)这个程序有漏数据的情况,我明明发了3副,他却只能收到1副。</FONT></P><P><FONT color=#ff0033 size=4>答:有多种可能,在编这个程序时首先要考虑一下串口速度和所发送数据的数据量。还有就是目前这个labview上位机程序是有问题的,那就是每次从串口缓冲区读取4096个字节的数据,却只从中搜索了副图像,其他的扔掉了。我们可以使用“移位寄存器”把搜索后剩余的字符串与下一次收到的进行连接,然后再进行搜索,这样就不会漏掉了。</FONT></P><P><FONT color=#2292dd size=4>(2)我现在是在调试程序,那个图片的尺寸随时会不停地修改,这样做的话,每次修改真麻烦,单片机修改后还需要修改上位机软件,有没有可以使上位机自动适应这个参数的呢?</FONT></P><P><FONT color=#ff0033 size=4>答:可以修改通信协议,单片机每次发送图像修改为以下格式</FONT></P><P><FONT color=#ff0033 size=4>printp("size");printp("%3d%3d",high,width);print("image");printp("图像数据");</FONT></P><P><FONT color=#ff0033 size=4>然后在上位机上先截取前面的参数,然后再处理后面的图像数据。</FONT></P><P><FONT color=#e61abd size=5>程序运行速度怎么这么慢?我如何使用上位机软件来控制小车?如何向上位机软件发送更多的信息,包括车速等?等等等等。。。。。。。。问题实在是太多了。一下子真的说不清楚如果有需要我会单独发帖各个击破!</FONT></P><P><FONT color=#ff3300 size=5 face=幼圆><STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;偶近期看了一下这个帖子的回复,应者寥寥,这让我怀疑这几个帖子的实际价值,也许我在做无用功吧。最初是因为觉得上位机软件对做摄像头的很重要,但从来没看到有讲过这方面的帖子,有的话也都是写的很粗糙,虽然没空余时间,但还是写了。如果你们觉得对你有用,就回个帖子吧,大家讨论讨论!!谢谢!!!再这样的话我也不敢保证我能继续给大家发有价值的帖子了!!</STRONG></FONT></P>
作者: fsystem    时间: 2008-6-13 22:41
标题: Re:手把手教你从零开始用labview编写智能车上位机程序(5)
<>谢谢 楼主 我觉得很有价值,虽然我对labView接触了一段日子 不过一直没明白串口的工作原理 谢谢楼主的辛勤工作</P>
作者: demon    时间: 2008-6-13 22:44
标题: Re:手把手教你从零开始用labview编写智能车上位机程序(5)
大家踊跃发言支持楼主呀
作者: lzyhx    时间: 2008-6-14 00:50
标题: Re:手把手教你从零开始用labview编写智能车上位机程序(5)
我感觉很有用,也是一点点和楼主学的,楼主的精神!!!!!!!敬佩!!!!!!!!!
作者: ^_^    时间: 2008-6-15 17:26
标题: Re:手把手教你从零开始用labview编写智能车上位机程序(5)
<>都看了,看看点击率!</P>
作者: sxm200656    时间: 2008-6-16 23:40
标题: Re:手把手教你从零开始用labview编写智能车上位机程序(5)
<><FONT style="BACKGROUND-COLOR: #c7edcc">再次感谢,这对初学着很有帮助</FONT></P>
作者: superyongzhe    时间: 2008-6-25 00:53
标题: Re:手把手教你从零开始用labview编写智能车上位机程序(5)
<><FONT color=#1111ee size=4>在这几天的学习中,发现还是labview简单易学,vc功能强大,其他的编程序语言就起来是在不顺手。主要是现在没时间了,否则我肯定会选择用vc摆平。现在没时间了,决定还是把弄点labview优化的帖子吧,把labview优化一下,应该会解决问题。</FONT></P><P><FONT color=#1111ee size=4>最新版本</FONT><BR><IMG src="http://www.znczz.com/images/affix.gif"><A target=_blank href="http://down.znczz.com/bbsupfile//upfile/智能车调试系统10.rar" target=_blank>智能车调试系统10.rar</A><BR><BR><IMG src="http://www.znczz.com/images/affix.gif"><A target=_blank href="http://down.znczz.com/bbsupfile//upfile/智能车信息回放系统7.rar" target=_blank>智能车信息回放系统7.rar</A></P>
作者: karwenlin    时间: 2008-10-8 07:50
标题: Re:手把手教你从零开始用labview编写智能车上位机程序(5)
这个...难道智能车进行运行中调试时,从计算机上拖根串口线出来连到智能车上?
作者: superyongzhe    时间: 2008-10-8 17:09
标题: Re:手把手教你从零开始用labview编写智能车上位机程序(5)
<>也可以通过串口接射频或者蓝牙模块。</P>
作者: bigsnake    时间: 2008-10-18 08:04
标题: Re:手把手教你从零开始用labview编写智能车上位机程序(5)
<>楼主能留下联系方式吗?我也要做一个这样的软件</P>
作者: roby18    时间: 2008-10-19 21:15
标题: Re:手把手教你从零开始用labview编写智能车上位机程序(5)
对啊,看下点击率就知道LZ的辛苦是值得的,谢谢LZ
作者: Jecely    时间: 2009-2-13 22:45
我觉得用串口发送数据到电脑,数据传输的速率已经被限制在最大115200kbps了,所以比较少用,如果有办法使用USB协议的话,效果会更好一点。
作者: azure    时间: 2009-2-14 23:18
其实很多人还不太会用labview,甚至有的都没听说过labview,你这种感觉叫曲高和寡、高处不胜寒,我个人觉得labview相当有用,你的帖子非常有价值,先谢了啊
作者: b321m1115    时间: 2009-2-25 22:24
顶起来!
作者: b321m1115    时间: 2009-2-25 22:25
我支持你,楼主!
作者: liujjing2008    时间: 2009-2-28 19:13
支持楼主!!!
作者: V8lanjin    时间: 2009-3-14 09:57
我觉得这些帖子真的很好,支持楼主
作者: miaowing    时间: 2009-3-25 09:48
这个确实很有用!可能大家还没发现吧!楼主不要灰心!!顶
作者: chenrunshe_007    时间: 2009-4-4 23:28
我来灌水
作者: sxshafei    时间: 2009-4-5 14:07
谢谢了,楼主辛苦了!!!
作者: hsm    时间: 2009-4-14 09:50
刚刚入手智能车制作,刚刚开始学习labview,呵呵,谢谢楼主的帖子!
作者: bamulanglang    时间: 2009-4-15 18:19
我是个懒人,一般只看帖不回贴,不过这次我必须上来顶顶了,楼主大好人啊

顺便再问几个问题:
         ①、你传送的图像是智能车摄像头的图像么?
         ②、如果要传送图像,是不是对无线模块的传输速率有要求啊?意思就是说传输速率快的价格高的模块能传,速率低价格便宜的就传不了啊?
         ③、我需要将通过传回电脑里的车速信号绘制成一幅速度-时间图像应该怎么做?
我的邮箱:jzys8000@163.com

再次感谢楼主~O(∩_∩)O谢谢~:)
作者: bamulanglang    时间: 2009-4-15 18:26
首先感谢楼主
问几个问题:
    1、楼主说的图形绘制是传送回摄像头的图像然后在电脑里绘制?
    2、传送图像是不是对无线模块的传输速率有一定要求?我买的模块最高速率19200可以吗?
    3、如果我只将传送回来的车速信号绘制成速度-时间图线怎么做呢?
我的邮箱:jzys8000@163.com
再次感谢楼主~
作者: baitian3744    时间: 2009-4-22 22:23
10# bigsnake

太好了,谢谢楼主!感激不尽!
作者: zhy0987    时间: 2009-4-24 11:17
请问版主如何把串口传过来的数据用灰度图显示啊,麻烦您做一个好不好,谢谢了
作者: 786892880    时间: 2009-5-23 23:15
我全下了,太感谢了。在赞一个。
作者: fivetrees    时间: 2009-8-18 14:32
我也是很想弄懂啊  可是图片全看不到  有点失落诶
作者: fivetrees    时间: 2009-8-18 14:34
楼主你好  能不能把整个教程发到我邮箱里   非常感激!!
465891011@qq.com
作者: FLYSHL    时间: 2009-9-5 16:36
真是个大好人!谢谢lz~
作者: FLYSHL    时间: 2009-9-5 16:37
谢谢lz~好好学习先!
作者: lyl609    时间: 2009-9-21 21:43
支持楼主 多写 太好了
作者: lihui198835    时间: 2009-11-27 22:18
我想知道怎样能通过无线通信来调程序和得到车的各个数据!!!
作者: hntanghuai    时间: 2009-12-8 08:48
我下了你贴中链接的注册机,可是注册不了,没有产生20位序列号。可以详细点指教下怎么产生序列号吗?截个图发到帖子上可以不?谢谢了!
作者: qianxu050    时间: 2010-3-6 10:16
楼主别发火~~~这帖子写的不错。

可是我们咋就看不见图片呢?
作者: liuxing045    时间: 2010-3-9 11:11
楼主费心了..给了我莫大的帮助,谢谢
作者: chenglong8833    时间: 2010-3-11 16:28
不太懂
作者: luson1321    时间: 2010-3-13 01:02
太强大了
作者: 望月2010    时间: 2010-3-13 14:09
顶!
作者: nijianlong    时间: 2010-3-16 22:18
楼主辛苦  可是怎么下载不到  急求  谢谢
作者: myb396    时间: 2010-4-20 20:58
好东西
支持
作者: myb396    时间: 2010-4-20 20:58
好东西
支持
作者: myb396    时间: 2010-4-20 20:59
好东西
支持
作者: myb396    时间: 2010-4-20 20:59
好东西
支持
作者: zhangluhuixing    时间: 2010-5-4 12:59
很有用
作者: calmevtime    时间: 2010-5-9 22:01
谢谢楼主啦
作者: flurida    时间: 2010-9-24 17:34
楼主 强烈支持你啊。千万别沉了。期待你的巨作!你看看点击量哇哇哩!!!!
作者: zp健忘    时间: 2010-11-11 22:35
非常感谢楼主!!!!!!!!!
作者: zhang54188    时间: 2010-11-22 02:40

作者: sncxy    时间: 2011-2-21 22:00
谢谢楼主的这些教程!感觉非常有用!有些地方还是不太明白,为什么要将采集到的字符串转换为字节数组?
作者: 扬子江    时间: 2011-2-22 21:15
给力的帖,谢谢楼主
作者: zhangxiang    时间: 2011-3-9 21:44
正是我要的资料,谢谢啊!
作者: aaaalook    时间: 2011-3-14 13:43
好,楼主强大,不过文件下载不了啊。
作者: qingpingpei    时间: 2011-3-24 21:30
回复 7# superyongzhe


    楼主加油!
作者: qingpingpei    时间: 2011-3-30 18:38

作者: 明汐1    时间: 2011-4-27 22:14
找到有用的了。。
谢谢楼主
作者: anny    时间: 2011-4-28 16:06
怎么显示黑白图片呢?
作者: 552376548    时间: 2011-5-27 19:27
回复 1# superyongzhe


    谢谢呀这个真的帮助很大呀
作者: 3108009184    时间: 2011-5-29 08:38
学习了
作者: gzhcontent    时间: 2012-1-14 20:24
帖子写的很不错。顶你!
作者: gzhcontent    时间: 2012-1-14 20:24
帖子写的很不错。顶你!
作者: zd12    时间: 2012-4-7 01:08
大哥,你的第一章串口接收示例还有串口收发示例我这下载不了,能麻烦发我邮箱吗?多谢,544584305@qq.com
作者: 随风去吧    时间: 2012-5-10 17:47
支持.......................
作者: 774960834    时间: 2012-8-24 16:34
8错8错
作者: jianbo2006    时间: 2012-12-3 22:28
你好,我想问一下你编写的labview的上位机程序接收的图像数据,是二值化后的图像数据?还是灰度图像、
作者: 小角色    时间: 2013-2-22 13:36
写的很好啊  做的时候没什么头绪  看了你写的大概就知道怎么做了 灰常感谢
作者: 飞鸿印雪    时间: 2013-3-27 13:28
呵呵  挺不错的啊
作者: 郭伟郭伟100    时间: 2013-5-18 21:23
为什么有些东西 例子下载不了?
作者: 1037580733    时间: 2013-8-24 17:10
收益颇丰
作者: duangduang呛    时间: 2015-6-30 12:03
必须顶




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2