Java版人脸跟踪三部曲之二:开发设计
java,人脸,跟踪,三部曲,之二,开发,设计
·
浏览次数 : 235
小编点评
**人脸跟踪应用设计**
**开局**
- 从摄像头取得的帧相关数据对象,转换成org.opencv.core这个包的同名对象
- 捕获异常,避免程序退出JavaCV中
**异常处理**
- 长或者宽比上一次的变化率是否超过百分八十
- 实测效果尚可
**矩形调整**
- 如果长或宽比上一次的变化率超过百分八十
- 调整前后的效果
**人脸检测结果**
- CamShift返回的是一个有效的矩形,人不再出现的帧,CamShift计算其反向投影的时候,返回的矩形的长和宽都小于等于零,但实际测试的时候,发现人脸消失后,CamShift还可能返回一个很小的矩形,这显然是必须要丢弃的,因此,判断是否跟丢的逻辑
**矩形设置**
- 调整前后的效果
**代码示例**
```python
# 异常处理
try:
# 从摄像头取得的帧相关数据对象,转换成org.opencv.core这个包的同名对象
opencv_imgproc.cvtColor(frame, frame, cv2.core.BGR2RGB)
# 捕获异常,避免程序退出JavaCV中
except Exception as e:
print(e)
# 矩形调整
frame_width = frame.width + 10
frame_height = frame.height + 10
# 调整前后的效果
frame_width = int(frame_width * 80 / 100)
frame_height = int(frame_height * 80 / 100)
# 矩形设置
frame = frame.reshape(frame_height, frame_width)
```
**注意**
- 这只是一份示例代码,您需要根据实际需求进行调整
- 异常处理的逻辑需要根据具体情况进行调整
- 矩形设置的尺寸需要根据实际需求进行调整
与Java版人脸跟踪三部曲之二:开发设计相似的内容: