本文是 我在 民科吧 帖 《opencv,python是不是用numpy代替了mat的作用?》 http://tieba.baidu.com/p/6450706166
里的 回复, 我在 帖 里是 K歌之王 。
5 楼
opencv 是一个 计算机 视觉库, numpy 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
你说用 numpy 代替了 mat , mat 是 matlab 或是 mathmaticas, 总之就是 那几大 数学软件,
所以, 这里面 涉及 的 就是 图形学 和 数学软件, 还有 人工智能, 因为 视觉识别 还需要 机器学习, 我最近在这方面刚好有些研究,可以看看 我 前几天 在 本吧 发 的 帖:
《丢翻图方程组 最小解 计算机 数值求解》 http://tieba.baidu.com/p/6439347267 ,
《我决定 开启 一个 人工智能 机器学习 技术 的 普及项目》 http://tieba.baidu.com/p/6426136823
等等 。
我 本来 就 计划 要 创立一个 数学软件 开源项目, 不久 应该 会 发帖出来 。
6 楼
接 5 楼 ,
这些东西 是 一个 体系 的 , 图形学 需要 数学软件(库) 的 支持 来 实现 实数计算 和 图形函数 计算,
所以, 这个 项目 首先 需要一个 数学软件 (库) ,
出于 执行效率 的 考虑, 图形库 、数学库 、机器学习库 都要 用 C 语言 编程, 另一方面, 图形库 需要 和 底层 打交道, 也需要 C 语言 编程,
我好像 听到了 有人 说 “C++” …… ? 别跟我说 C++, C++ 带来的可能不是 效率 而是 糟糕 。
目前 我写的 数学计算 的 小程序 都是用 javascript 写的, 这样是为了 运行 和 演示 方便, 用 浏览器 打开 就可以 运行, 同时, 这些程序 主要是 展现 算法, 并不过多 考虑 执行效率, 或者说, 不会去考虑 作为 底层库 的 执行效率 。
所以, 若 我们 开展 这个 项目, 底层库 当然 会用 C 语言 写, 算法可以参考 现有 的 javascript 程序 。
一个 简单 的 图像识别, 比如 手写输入, 或者 简单点, 给一个 图片 , 识别 汉字, 这完全可以用 javascript 写 。
有关 图形学, 我会在 适当 的 时候 发帖 探讨 。