智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4689|回复: 10
打印 上一主题 下一主题

[编程类] VC++上位机程序的图像还原问题

[复制链接]

0

主题

2

帖子

0

精华

注册会员

Rank: 2

积分
125
威望
173
贡献
22
兑换币
0
注册时间
2009-4-10
在线时间
6 小时
跳转到指定楼层
#
发表于 2009-4-13 16:24:38 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
1贡献
本帖最后由 liaojiji 于 2009-4-13 16:28 编辑

请问哪位知道VC++编写的上位机程序的图像还原的方法,就是把传感器采集的赛道在计算机上还原成图像。
能提供个算法原理,编程思路就行,有程序代码就更好咯!!
急求~~

0

主题

67

帖子

0

精华

高级会员

Rank: 4

积分
995
威望
460
贡献
249
兑换币
297
注册时间
2012-10-17
在线时间
143 小时
10#
发表于 2012-12-31 16:10:14 | 只看该作者
:D:D
回复

使用道具 举报

3

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
334
威望
234
贡献
56
兑换币
4
注册时间
2012-2-4
在线时间
22 小时
毕业学校
中国科技大学
9#
发表于 2012-5-1 15:33:21 | 只看该作者
我就是用VC++写的上位机,思路是先把收到的数据保存在一个字符串里,然后把这个字符串的内容根据所采集图像的行数和列数存放在数组里,再根据你所确定的阀值去Image控件中画图大致就是这样
回复

使用道具 举报

0

主题

22

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
218
威望
192
贡献
22
兑换币
0
注册时间
2009-10-25
在线时间
2 小时
8#
发表于 2010-5-1 03:02:56 | 只看该作者
回复

使用道具 举报

2

主题

196

帖子

0

精华

高级会员

Rank: 4

积分
578
威望
453
贡献
95
兑换币
16
注册时间
2010-3-13
在线时间
15 小时
7#
发表于 2010-3-31 20:48:39 | 只看该作者
谢谢
回复

使用道具 举报

1

主题

127

帖子

0

精华

高级会员

Rank: 4

积分
607
威望
424
贡献
117
兑换币
0
注册时间
2010-3-6
在线时间
33 小时
6#
发表于 2010-3-27 22:13:13 | 只看该作者
回复

使用道具 举报

0

主题

124

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
375
威望
304
贡献
55
兑换币
6
注册时间
2009-3-24
在线时间
8 小时
5#
发表于 2010-3-25 14:49:58 | 只看该作者
回复

使用道具 举报

51

主题

2229

帖子

4

精华

元老在此

成都逐飞科技有限公司

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
68159

论坛元老奖章资源大师奖章在线王奖章活跃会员奖章优秀会员奖章论坛骨干奖章

QQ
威望
46285
贡献
16676
兑换币
4882
注册时间
2010-2-24
在线时间
2599 小时
毕业学校
乐山师院
4#
发表于 2010-3-13 10:38:19 | 只看该作者
谢谢楼上的
回复

使用道具 举报

9

主题

143

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1001
威望
402
贡献
435
兑换币
0
注册时间
2010-1-11
在线时间
82 小时
3#
发表于 2010-3-12 10:21:21 | 只看该作者
本帖最后由 96107015 于 2010-3-12 10:24 编辑

用VC6.0的话,不太好做。如果是VC2005的话,有个CImage类,很好用。
例如:
你从下位机上发过来一个二维数组 img[128[[176]假设你采集到的像素是128*176的
下面就是对这个二维数组的处理了
1,建立一个MFC的对话框应用程序(为方便叙述,假设工程名字为img),在资源视图中删除对话框上的控件。
2,在stdafx.h文件的最后加上#include<atlimage.h>
3,转到类视图,在类CimgDlg中添加变量 CImage img和 img[128][176] (这个变量中储存你上位机接受到的图像数据,这里假设你的图像是256阶灰度数据,即你的摄像头是灰度的,值从0~255,0是黑色 255是白色)
4,在类CimgDlg中添加消息响应函数OnTimer(UINT_PTR nIDEvent)
5,在CfcarDlg::OnInitDialog()函数中添加初始化代码

img.Create(176,128,8);
img.SetColorTable(0,256,colortab);
SetTimer(1,40,NULL);

6,在OnTimer(UINT_PTR nIDEvent)函数中加入如下代码


        BYTE *buf;
        for(int y=0;y<img.GetHeight();y++)
        {
                buf=(BYTE*)img.GetPixelAddress(0,y);
                for(int x=0;x<img.GetWidth();x++)
                {
                        buf[x]=img[y][x];
                }
        }
                CDC*pDC=this->GetDC();
                img.BitBlt(*pDC,0,0);
                ReleaseDC(pDC);

7,编译运行就可以了

补充:怎样把数据传到上位机,我现在也不知道,希望能帮到你!!
回复

使用道具 举报

1

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
232
威望
187
贡献
23
兑换币
0
注册时间
2009-8-7
在线时间
11 小时
2#
发表于 2010-3-11 21:31:20 | 只看该作者
你现在知道如何用C++还原图像的话,请告我,我也很想知道
xiao_yonghui@126.com
不胜感激
回复

使用道具 举报

0

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
238
威望
176
贡献
22
兑换币
0
注册时间
2009-2-20
在线时间
20 小时
1#
发表于 2009-4-16 21:43:38 | 只看该作者
用MATLAB或者LABVIEW更方便
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-6 23:21 , Processed in 0.058822 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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