image magnification
显示 更早的评论
Hello all, heres a qs thats troubling me
I've an scanning electron microscope (SEM) image A (at *8000 magnification) and another optical image B (of unknown magnification). It is known that a 12000 times SEM image needs to reduce 3.8 times to match the optical image. Thus, a 8000 times SEM image is to be reduce by 2.53 times.
May i know what is the matlab code for me to perform this magnification? Any help is greatly appreaciated. thanks!
采纳的回答
更多回答(1 个)
Walter Roberson
2011-10-5
David is correct, but leaves open the question of which scale to use.
scale = 1 ./ max( size(A,1)./size(B,1), size(A,2)./size(B,2) );
This assumes that the scaled image must completely "fit into" the size of the optical image. If it is sufficient that one of the two dimensions match the size of the optical image, then use min() instead of max(). If matching a particular dimension is important, then you would use either
scale = size(B,1)./size(A,1);
or
scale = size(B,2)./size(A,2);
4 个评论
shirley
2011-10-5
Walter Roberson
2011-10-5
The 1 or 2 refers to the dimension number. size(A,1) is the number of rows in A, size(A,2) is the number of columns in A.
shirley
2011-10-6
David Young
2011-10-6
As you say, this answer assumes that the SEM and optical images have the same field of view, so can be mapped onto one another.
However, I'd thought, from the original question, that the scale was already known to be 2.53, or 1/2.53 depending on which image you resize, and that you'd then have to register and crop if you want the images to be the same size.
Shirley likes this answer though, so maybe my interpretation is wrong.
类别
在 帮助中心 和 File Exchange 中查找有关 Motion Estimation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!