我试图弄清楚如何在 OpenCV 中执行与此 matlab 代码等效的操作,有几个地方可以使用cv::remap
作为替代interp2
,但它给我的结果与 matlab 不同。
如果有帮助的话,这是在执行分段仿射变换的函数内部,作为拟合主动外观模型的一部分。
[XI, YI] = meshgrid(1:img_Col, 1:img_Row);
imNew=zeros(nRow,nCol,nChannels);
for i=1:nChannels
imNew(:,:,i) = interp2(XI, YI, double(img(:,:,i)),Ix(: , :),Iy(: , :));
end
img_Col
and img_Row
只是大小img
我还包括了哪些样本值Ix
, Iy
, img
, and imNew
(代码运行后)thisGoogle Drive 文件夹(我只费心包含图像的第一个通道)。我在其他几个问题上看到过它remap
仅适用于常规网格,坦率地说,我并不完全知道这意味着什么(这些问题是cv::remap (在 opencv 中) 和 interp2 (matlab) and 将不规则网格重新映射为规则网格.
这些图像展示了目标是什么。https://i.stack.imgur.com/w91ZZ.jpg
谢谢你的帮助!!