我的毕业设计: 人机交互系统算法建模。我的任务就是要将调用opencv写的代码转化为纯C的语言。

DIY-GEEKER 2012-02-02 08:25:52
我的毕业设计: 人机交互系统算法建模。我的任务就是要将调用opencv写的代码转化为纯C的语言。 我现在不知道如何下手,软件使用opencv,visual2008可以吗?怎么将代码转化为C语言呢?希望哪位能给我知道!!谢谢啊谢谢。。

我在网上看到的都是调用opencv的代码,至于怎么转化成C,我就不懂了。请求指点。
...全文
521 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
而获啊 2014-03-04
  • 打赏
  • 举报
回复
哎,我现在手上的项目就是把使用了openCV的算法换成不调用openCV的。只能一个一个慢慢写了。。
贝隆 2012-02-04
  • 打赏
  • 举报
回复
那就把问题简单化,动作识别?那就后台录制一些标准的动作,和实时图片进行比较。来判断。
贝隆 2012-02-04
  • 打赏
  • 举报
回复
替代OpenCV?这个难度大的。。。
人家那么多高手联合才开发出来的,让你一还未毕业的学生来写东西替代?佩服你的老师
DIY-GEEKER 2012-02-04
  • 打赏
  • 举报
回复
嗯,各位,老师真的是要我不用opencv函数!!!大家有什么见解?怎么入手?
DIY-GEEKER 2012-02-04
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 wolf0403 的回复:]

引用 22 楼 wangyi1988wang 的回复:

嗯,各位,老师真的是要我不用opencv函数!!!大家有什么见解?怎么入手?

果断换课题。
看你现在的概念,要做到最基础的手形识别也不是你一个人几个月能搞定的事情。图像分析、骨架识别、模式匹配,etc.一切都还以扎实的 C 编码能力作为基础。
找个简单点的做吧。
[/Quote]哎,不会吧!!我跟老师联系联系。
Wolf0403 2012-02-04
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 wangyi1988wang 的回复:]

嗯,各位,老师真的是要我不用opencv函数!!!大家有什么见解?怎么入手?
[/Quote]
果断换课题。
看你现在的概念,要做到最基础的手形识别也不是你一个人几个月能搞定的事情。图像分析、骨架识别、模式匹配,etc.一切都还以扎实的 C 编码能力作为基础。
找个简单点的做吧。
DIY-GEEKER 2012-02-03
  • 打赏
  • 举报
回复
我就是学C的。惭愧,只是我不知道我的老师为什么“让我做出一个纯c人机交互系统算法建模”,如果是这样的话,那好像比较好入手了。可是当初听师兄说起好像是很难的东西。不知道大家有什么意见??谢谢[Quote=引用 13 楼 liuchao35758600 的回复:]

LZ是学什么的?
[/Quote]
DIY-GEEKER 2012-02-03
  • 打赏
  • 举报
回复
嗯,谢谢。。。。非常感谢。。
灼眼的超哥 2012-02-03
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 liuchao35758600 的回复:]

引用 10 楼 wangyi1988wang 的回复:

center.x = cvRound((r->x + r->width*0.5)*scale);
center.y = cvRound((r->y + r->height*0.5)*scale);
radius = cvRound((r->width + r->height)*0.25*scale);
这些句子要转化成纯C的,该……
[/Quote]
cvRound是openCv中的一个函数:
  int cvRound (double value);
  /* 对一个double型的数进行四舍五入,并返回一个整型数 */
灼眼的超哥 2012-02-03
  • 打赏
  • 举报
回复
LZ是学什么的?
灼眼的超哥 2012-02-03
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 wangyi1988wang 的回复:]

center.x = cvRound((r->x + r->width*0.5)*scale);
center.y = cvRound((r->y + r->height*0.5)*scale);
radius = cvRound((r->width + r->height)*0.25*scale);
这些句子要转化成纯C的,该怎么做呢?cvRound((r->x + r->width*0……
[/Quote]

center.x = cvRound((r->x + r->width*0.5)*scale);
center.y = cvRound((r->y + r->height*0.5)*scale);
radius = cvRound((r->width + r->height)*0.25*scale);

这代码不是C语言吗?
center是个结构体,有成员变量x和y,用 "." 访问结构体的成员变量。
r是个结构体指针,有成员变量x,y,width,height,用 "->" 访问结构体的成员变量。
cvRound是个函数,有一个参数。
(r->x + r->width*0.5)*scale ,(r->y + r->height*0.5)*scale 和 (r->width + r->height)*0.25*scale都只是一条计算语句,最终把这式子的结果作为参数传给cvRound函数。
ningxuan4321 2012-02-03
  • 打赏
  • 举报
回复
1.那些代码是完完全全的C代码。
2.我觉得楼主应该先学习一下C再上手做这些东西
DIY-GEEKER 2012-02-03
  • 打赏
  • 举报
回复
center.x = cvRound((r->x + r->width*0.5)*scale);
center.y = cvRound((r->y + r->height*0.5)*scale);
radius = cvRound((r->width + r->height)*0.25*scale);
这些句子要转化成纯C的,该怎么做呢?cvRound((r->x + r->width*0.5)*scale);cvRound((r->y + r->height*0.5)*scale);这些纯C语言好像没有的?
灼眼的超哥 2012-02-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wangyi1988wang 的回复:]

请问这种代码应该是C语言了吧?
[/Quote]
为什么怀疑这种代码不是C语言?
cchn2011 2012-02-03
  • 打赏
  • 举报
回复
能用!
DIY-GEEKER 2012-02-03
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 wolf0403 的回复:]

嗯,你最好跟老师确认下,别最后老师让你手写算法代替 opencv 库就行。
[/Quote]

很有可能是,我发邮件问一下?如果是的话我该怎么入手
DIY-GEEKER 2012-02-03
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 wolf0403 的回复:]

嗯,你最好跟老师确认下,别最后老师让你手写算法代替 opencv 库就行。
[/Quote]如果是这样那就可怕了。我已经发邮件过去了。还没回复。如果是的话我该怎么做??
IVERS0N 2012-02-03
  • 打赏
  • 举报
回复
不懂OPENCV 帮顶
Wolf0403 2012-02-03
  • 打赏
  • 举报
回复
嗯,你最好跟老师确认下,别最后老师让你手写算法代替 opencv 库就行。
灼眼的超哥 2012-02-03
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 wangyi1988wang 的回复:]

我就是学C的。惭愧,只是我不知道我的老师为什么“让我做出一个纯c人机交互系统算法建模”,如果是这样的话,那好像比较好入手了。可是当初听师兄说起好像是很难的东西。不知道大家有什么意见??谢谢引用 13 楼 liuchao35758600 的回复:

LZ是学什么的?
[/Quote]
学C的?
学C的,一般都看得出这段代码是符合C语言编写规范的:

center.x = cvRound((r->x + r->width*0.5)*scale);
center.y = cvRound((r->y + r->height*0.5)*scale);
radius = cvRound((r->width + r->height)*0.25*scale);

前提是,学过C语言中的结构体。
加载更多回复(6)
课程目的:OpenCV是应用非常广泛的开源视觉处理库,在图像处理、计算机视觉和自动驾驶中有着非常重要的作用。课程设计特色:(课程当前为第一期)1、C++与Python双语教学Python语言是在计算机视觉中应用最多的一种语言,在工作中,深度学习模型的训练基本上都是使用Python语言的训练代码OpenCV在这个过程中用于图像的预处理(例如图像读取、数据增强)和后处理,还可以用于显示处理的结果,功能强大,使用方便。但是在功能的部署的时候,不管是部署在服务端还是PC端,开发语言基本上用的是C++,所以如何有效的使用OpenCV进行模型或者功能的部署尤为重要。C++语言应用的好坏,在面试中可以看出一个面试者的工程实践能力的强弱,两种语言的开发掌握好了可以使工作如虎添翼。2、全模块讲解我出版了一本图书《学习OpenCV4:基于Python的算法实战》,虽然这本书是的基于Python的算法实战,但是实际上这本书有详细的介绍算法的C++接口,还有一些C++方向的案例,是以Python为主。图书出版的时候就想双语作,只是限于篇幅没有成行。本课程不仅采用双语教学,更是对C++的每个模块都做讲解,我们知道,很多的书其实只讲imgproc,如果你翻开一本书图像的形态学运算和图像滤波都是作为独立章节讲解的,那么这本书基本上就可以确定是只是讲解了imgproc模块,但是其他的模块在工作中也有很重要的作用。例如:core模块定义了C++的基本数据结构和基本运算(如四则运算);highgui模块是可视化与交互的模块;feature2d是特征点与特征匹配相关算法所在的模块;ml是机器学习相关的模块;dnn是深度学习相关的模块,可以使用OpenCV进行深度学习模型的部署。这些是很多的书和课程都不会讲的。3、讲解细致本课程会从环境搭建开始讲解,环境搭建尤为重要。从我多年的授课经验总结来看,如果只是给了代码,很多的入门用户环境问题处理不好的话,后面的学习很难进行下去,甚至会丧失学习的信心。4、会讲解C++和Python的开发语法问题是入门用户的一大难关,特别是C++语言。大学只是教授了C语言相关的内容,C++很多同学只懂一点皮毛,所以代码步履维艰,我们在讲解代码的过程中会顺带讲解C++和Python的内容。我们还会讲解编译相关知识,还有库的装载与链接,这些是学校里不会教的,目前也几乎没有课程讲解。5、讲师经验丰富我讲解过C++和OpenCV的多个课程,广受学员好评。我出版过两本图书《深度学习计算机视觉实战》和《学习OpenCV4》,两本书都是细致入微的讲解,主要针对的就是初学者,所以能够很好的处理课程的难易程度。6、讲义准备充分讲义准备的充分细致,标识清楚明确,重点和疑难点突出。
如果您下载了本程序,但是该程序存在问题无法运行,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的话,是需要追加额外费用的)。另外,您不会使用资源的话(这种情况不支持退款),也可以找我们帮助(需要追加额外费用) MATLAB(Matrix Laboratory)是一款由美国MathWorks公司开发的高性能商业数学软件,它集成了高级技术计算语言、交互式环境以及丰富的工具箱,被广泛应用于工程计算、数据分析、算法开发和科学可视化等领域。MATLAB的核心功能包括: 1. **数值计算**:支持大规模矩阵和数组运算,对线性代数、微积分、概率统计等数学问题提供高效解决方案。 2. **编程环境**:提供了易于使用的脚本编与函数定义界面,支持面向对象编程,并可通过M文件实现模块化程序设计。 3. **数据可视化**:内置强大的二维和三维图形绘制功能,能够创建高质量的数据图表,便于数据分析和结果展示。 4. **工具箱扩展**:MathWorks为MATLAB提供了众多领域的专业工具箱,如信号处理、图像处理、通信系统、控制系统、机器学习、深度学习、量化金融、优化算法等,极大地扩展了MATLAB的应用范围。 5. **Simulink仿真**:作为MATLAB的重要组成部分,Simulink是一个动态系统建模、仿真和基于模型的设计环境,特别适用于多域物理系统和嵌入式系统的模拟和实时测试。 6. **集成能力**:MATLAB可以与其他编程语言(如C、C++、Java、Python等)及外部应用程序进行数据交换和联合开发,也可以调用硬件接口进行实时实验和控制。 7. **交互式工作空间**:用户可以在命令窗口中直接输入表达式并立即得到结果,这种交互式的特性使得快速原型设计和调试变得极为便利。 总之,MATLAB是科学家、工程师和技术人员进行科研、教育和工业应用不可或缺的强大工具之一,尤其在需要大量数值计算和复杂系统建模的场景下发挥着重要作用。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧