Nodejs OpenCV在人脸检测上重叠图像

时间:2017-06-19 23:19:54

标签: node.js opencv

这听起来很简单,但它真的很棘手。我使用NodeJS OpenCV从图片中识别出脸部的X和Y.

来自示例:

order_id

我不想在图像上添加椭圆,我想在人脸上添加图像。我该怎么做呢?

使用OpenCV,我尝试创建缓冲矩阵并合并来自2张图片的数据。这真的很复杂。我现在正在研究Node Canvas,但我认为OpenCV会为此提供一个简单的解决方案。任何人都有一些样本代码吗?

由于

1 个答案:

答案 0 :(得分:0)

您可以使用node-opencv中当前可用的函数 copyTo()来实现该功能,只需将目标图像和要应用其中的ROI(感兴趣的区域)作为参数指示第二张图片。

OnAudioFocusChangeListener

我强烈建议您查看源代码,因为没有记录此库。

应该有效

NAN_METHOD(Matrix::CopyTo) {
Nan::HandleScope scope;

Matrix * self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
int width = self->mat.size().width;
int height = self->mat.size().height;

// param 0 - destination image:
Matrix *dest = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
// param 1 - x coord of the destination
int x = info[1]->IntegerValue();
// param 2 - y coord of the destination
int y = info[2]->IntegerValue();

cv::Mat dstROI = cv::Mat(dest->mat, cv::Rect(x, y, width, height));
self->mat.copyTo(dstROI);

return;}