2016-03-01 165 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'); 
    }) 
})