【Java】人流量统计-动态版之视频转图识别请访问 http://ai.baidu.com/forum/topic/show/940413
本文是基于上一篇进行迭代的。本文主要是以摄像头画面进行人流量统计。并对返回图像进行展示。需要额外了解JavaCV OpenCV swing awt等
也许JavaCV OpenCV 不需要也可以实现效果。但是小帅丶就先用这样的方式实现了。别的方式大家就自己尝试吧
项目代码地址 https://gitee.com/xshuai/bodyTrack
注意的问题
1.动态识别的area参数为矩阵的4个顶点的xy坐标(即像素) 顺序是 上左下右 也就是顺时针一圈4个点的坐标点
2.case_id为int 请不要给大于int范围的值。或非int类型的值 即正整数就行
3.area的值不要大于图片本身的宽高
需要用到的jar 通过maven引入(下载的jar较多。需要等待较长时间)
https://gitee.com/xshuai/bodyTrack/blob/master/pom.xml
自行查看项目POM文件吧。社区对xml html标签进行了解析导致丢失了
需要用到的Java工具类
HttpUtil https://ai.baidu.com/file/544D677F5D4E4F17B4122FBD60DB82B3
调用接口示例代码(需要自己的电脑有摄像头哦)
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferByte;
import java.awt.image.WritableRaster;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.Base64;
import java.util.Base64.Decoder;
import java.util.Base64.Encoder;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import org.bytedeco.javacpp.BytePointer;
import org.bytedeco.javacpp.opencv_core.IplImage;
import org.bytedeco.javacv.CanvasFrame;
import org.bytedeco.javacv.Frame;
import org.bytedeco.javacv.Java2DFrameConverter;
import org.bytedeco.javacv.OpenCVFrameConverter;
import org.bytedeco.javacv.OpenCVFrameConverter.ToIplImage;
import org.bytedeco.javacv.OpenCVFrameGrabber;
import com.alibaba.fastjson.JSONObject;
import cn.xsshome.body.util.HttpUtil;
/**
* 获取摄像头画面进行处理并回显图片在画面中
* 人流量统计(动态版)JavaAPI示例代码
* @author 小帅丶
*
*/
public class JavavcCameraTest {
static OpenCVFrameConverter.ToIplImage converter