我是一名大一学软件的学生,要做一个C++大作业。有意思想做一个类似于有道词典的可以进行屏幕取词的查单词软件,想问问以我C++的基础难不难做,或者说算法难不难掌握?求大侠很给个思路。PS:我的C++只是学了一些比较基础的,这个学期才开始接触到面向对象的编程
算法不难,难的是“屏幕取词”。你要把这个学会了,你的程序就相当简单。
代码量大概多少?屏幕取词涉及到的是哪方面的知识?谢谢
@d.aima: 难就难在你不会用搜索:http://wenku.baidu.com/view/31fe9922192e45361066f5df.html
@d.aima: 另外我补充一点,你注意这类似技术文章中反复提到的 GDI,你一定要注意啊!如果是用 DirectX 绘制的,它们就失效了。你可能需要截屏,然后使用图形识别算法。
@Launcher: 好,但我先要搞懂你说的话先........莫嘲笑学渣......
好吐槽
有两个选择,一,使用一些开源的库例如tess-two什么的,他已经帮你写好了从图像识别出文字的算法,然后你的工作就是只是实现图片的读取和预处理然后把图片交给这个库处理得到结果,然后得到了结果你想干嘛干嘛。虽然把想法实现了,但是其实就很低端,用人家写好的东西一点都不高大上。(当然因为是开源的,你可以去看里面的源代码修改改进然后变成你的)。 二,就是学习计算机图像处理方面的内容如opencv,matlab,这方面就实在是知识量庞大了- -~可以说没在坑里呆上个好几年也不会有什么好的成果,甚至可能白白浪费几年什么都没进展。 所以说,有好的想法是好,但是要切合你自己的实际,除非你是天才或者大神几个月能够对图形学掌握自如的话就可以按我的建议选择一条路来干了。 不过就只有C++基础我感觉还是有点悬的,毕竟大学教的C++基础真的就只是基础,要应用到软件上还是有很多路要走的。不知不觉就说了这么多。。。。
说下我的看法,好像和楼上不太一样。
1、建议你去掉“屏幕取词”这个需求,这样你才有希望完成作业。
2、如果是屏幕取词,其实应该不会涉及到图像识别的事情,鼠标是HOOK到WINDOWS系统里面,拿到的其实直接就是
文本了,不信你用有道试试看,文字如果保存为图片他是不认的。
3、拿到文字后,翻译需要有字典,这个目前通常作业就是直接连到网上去查的。
屏幕取词:难度90,
文字翻译:难度3
词库:难度....(自己搞基本不可能)
数字不准确,大概是那么回事。
屏幕取词
1.通过图像识别算法
2.根据鼠标或者光标移动的位置 获取窗体或者控件的句柄 然后再获取当前句柄下面的文字
貌似WIN的API就有这个功能