这是一个山东潍坊学院计算机院的毕业设计项目,前端设计文件上传和视觉传达,后端使用OpenCV对视频进行阴影去除并返回。这个毕业设计项目的文档中直接使用OpenCV的自带预览来获取截图(咱也不知道是为了方便还是根本做不了前后端通信)。
所以我用了点时间直接把论文理想的产品(的大部分)做了,其中OpenCV的处理函数来自MayureshPG1/Shadow-Detection-Removal,背景图片来自unsplash,前端使用原生html+css+javascript,后端使用C++进行OpenCV处理和Httplib进行服务器搭建。前端部分使用base64方式进行文件上传,后端额外需要ffmpeg对OpenCV生成的视频进行h264转码。
分为前端和后端两个部分,对应forepage和c_backend
本项目需要拉取Http-lib子模块,你应该使用以下命令克隆:
git clone --recursive git@github.com:HowXu/CaiFish.git
或者在正常克隆后运行以下命令拉取子模块:
git submodule init
git submodule update
不需要编译,直接把html文件所在目录放在反向代理文件夹中即可,在index.js文件可以看到完整的上传逻辑和处理逻辑,请自行查阅
在Windows 11上使用Mingw64和OpenCV库进行构建,请确保正常安装并配置了Mingw64,OpenCV(必须带有ffmpeg支持),cmake,ffmpeg安装
在c_backend目录下运行:
cmake CMakeLists.txt -G "MinGW Makefiles"
make
即可在build目录下获得output.exe文件,运行该文件即可在本地1234端口上开启处理服务器