这听起来很简单,但它真的很棘手。我使用NodeJS OpenCV从图片中识别出脸部的X和Y.
来自示例:
order_id
我不想在图像上添加椭圆,我想在人脸上添加图像。我该怎么做呢?
使用OpenCV,我尝试创建缓冲矩阵并合并来自2张图片的数据。这真的很复杂。我现在正在研究Node Canvas,但我认为OpenCV会为此提供一个简单的解决方案。任何人都有一些样本代码吗?
由于
答案 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;}