How to substitute p(x/a+x1,y/a+x2) to p(x,y),where p(x,y) is original image, x1 and x2 are the centroid of p(x,y),x1=m10/m00,x2=m01/m00,a=sqrt(β/m00),β is a predetermined value. In fact, this is doing scale and translation normalization
1 次查看(过去 30 天)
显示 更早的评论
How to substitute p(x/a+x1,y/a+x2) to p(x,y),where p(x,y) is original image, x1 and x2 are the centroid of p(x,y),x1=m10/m00,x2=m01/m00,a=sqrt(β/m00),β is a predetermined value. In fact, this is doing scale and translation normalization
4 个评论
Rik
2021-2-15
Sounds like you want interpolation. The easiest way to do that is to generate a coordinate grid (e.g. with meshgrid or ndgrid).
Again, what have you tried? That might make it a bit more clear what you actually mean and what your specific problem is. What step is giving you trouble?
回答(1 个)
Bjorn Gustavsson
2021-2-15
You solve that with interp2:
xi = xC + [-dx:dx]*xScale;
yi = yC + [-dy:dy]*yScale;
[xi,yi] = meshgrid(xi,yi);
p_prime = interp2(1:size(p,2),1:size(p,1),p,xi,yi);
You have to check for xi and yi falling outside of the image-coordinates, and handle that afterwards. By default you'll get nan-values. Check the help and documentation for interp2 for details. You'll also easily translate your coordinate-transformation to the one above.
HTH
7 个评论
Bjorn Gustavsson
2021-2-15
If you have an image you only have information about the image intensities between the first and last pixels of the image, if you try to extrapolate intensities outside the image support [1 - sy , 1 - sx] you are only guessing. Matlab will allow you to do that type of guess-work, check the help and documentation for extrapolation-methods. Don't expect anything that is all that much worth by extrapolating, there is allways place for Occams pink elephant just outside the field-of-view.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Continuous Waveforms 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!