2016-03-01 203 views
3

因此,我呈现一个黑色的图像。我试图使用像out.convertTo(out,6)这样的差异参数进行转换,但没有成功。opencv黑色图像匹配后模板

export function testAction(req, res) { 
     req.file('image').upload((error, file) => { 
     openCV.readImage(file[0].fd, function (err, im1) { 
      let out = im1.matchTemplate(file[1].fd, 0); 
      out.save('result.png'); 
     }); 
     }); 
     res.ok(); 
} 

回答

1

匹配模板为您提供了Mat中的float元素和范围[0; 1]。 保存图像时,它将转换为CV_8UC3图像,但不能正确缩放。 您可以尝试将结果乘以255并查看,或使用cv :: normalize方法。

+0

@Eugene你可以分享你是如何做到的? –

+0

只是'out.normalize(0,255,cv.Constants.CV_8UC3);' – Eugene

0

我其实认为这是另一个答案。

matchTemplate()是同步的,以便您的代码应该是:

openCV.readImage(file[0].fd, function (err, im1) { 
    im1.matchTemplate(file[1].fd, 0, function(out){ 
     out.save('result.png'); 
    }) 
})