首先说明对于人的坐姿是否端正,需要就行高低肩识别,
算法流程
1:通过语义分割算法实现人的分割提取(enet,pspnet,fcn,unet等,我们这里使用fcn,因为从c++可以调用呀)
2:图像填充
3;左右肩斜率计算
1:c++显示fcn.
需要的文件有pascal-classes.txt,fcn8s-heavy-pascal.prototxt,这两个文件是在opencv-3.4.1的源码中,其它版本有没有,我不知呀。
另外的一个文件是fcn的模型文件fcn8s-heavy-pascal.caffemodel,这个需要单独下载,可以去我的资源里下载(包含上面的两个文件)
直接上代码
#include<opencv2/opencv.hpp>
#include<opencv2/dnn.hpp>
#include<iostream>
using namespace cv;
using namespace std;
using namespace cv::dnn;
const size_t width = 500;
const size_t height = 500;//定义图像文件宽高
vector<Vec3b> labels_color();
string label_file = "F:/fcn/pascal-classes.txt";
string deploy_file = "F:/fcn/fcn8s-heavy-pascal.prototxt";
string model_file = "F:/f