OpenCV 图像识别/图像处理在线服务的技术选型

更新日期: 2022-02-25 阅读次数: 667 字数: 490 分类: 图像识别

说实话单纯看书学习 OpenCV 太枯燥了,看完基本就都忘光。所以,我决定一边看书,一边把通用的图像处理、识别功能做成在线服务。 首先就遇到了技术选型的问题,这里记录一下。

目标

这套后台可以同时支撑 web 网页、微信小程序、APP。

后台选型

在 golang 与 python 的方案之间纠结,但是最后还是选择了 python。原因:

  • opencv 官方文档基本都是 python 和 c++ 的,第一次学习 opencv 就用 golang 有点冒险
  • python 做图像识别的网上资料相对多很多。我看的几本 opencv 书籍也都是用 python 来讲解的

至于 python 的后台框架,我在 flask 与 fastapi 间,选择了 fastapi。 一是我对 flask 历史印象不好,不展开说了;二是,我非常想尝试一下 fastapi 这个号称性能可以匹敌 go 的框架, 再就是 python3 的异步写法也没玩过,值得一试。

前端

我有点不想碰之前的代码:

  • PHP Laravel 版本有点旧,也不想花时间升级
  • Golang 的模板太难用了,非常不适合写网页
  • 两套代码分离,本地调试麻烦

干脆就基于 fastapi 的模板来实现吧。我唯一担心的是国际化的支持。

https://github.com/PhraseApp-Blog/fastapi-i18n

查了一下,简单粗暴,看起来不是问题。

vue 还是 react

用于 web,小程序,app 都用同一套后台,所以前端还是要用 js 来实现图片上传及其他交互。 在 vue 与 react 之间,选择了 vue,主要是 jsx 我觉得对 SEO 不友好,对 SEO 不友好, 网页端就失去了存在的价值。

至于 vue2 还是 vue3,我还是不太想尝试 vue3,因为 vue2 完全满足我的需求。 这次主要是学习 opencv,我觉得不值得在激进的前端技术上再花更多的时间。

tags: fastapi

爱评论不评论