1. 程式人生 > >MATLAB的imtransform()函式作影象線性平移時如果要體現效果要加上目標Size限制!

MATLAB的imtransform()函式作影象線性平移時如果要體現效果要加上目標Size限制!

標題提出的問題實際上是下面兩條語句的區別:

I_out=imtransform(I,tform); 

I_out=imtransform(I,tform,'XData',[1 size(I,2)],'YData',[1 size(I,1)]);

兩條語句執行結果分別如下圖所示:

     

可見,第一句語句沒有體現平移效果,而第二句語句體現了平移效果,原因是imtransform如果不加“'XData',[1 size(I,2)],'YData',[1 size(I,1)]”的補充說明,它會自動處理為和以前的影象一樣!如果加上了“'XData',[1 size(I,2)],'YData',[1 size(I,1)]”的說明,則就不會這種自動處理!

下面援引MATLAB的警告提示如下:

Warning: You just called IMTRANSFORM with a pure translation(純移動). The
output image will be the same as the input image unless
you specify 'XData' and 'YData' values in your call
to IMTRANSFORM. For example, if you want the output to be
the same size as the input revealing the translation
relative to the input image, call IMTRANSFORM like this:
     B = IMTRANSFORM(A,T,'XData',[1 size(A,2)],'YData',[1 size(A,1)])

影象處理開發資料、影象處理開發需求、影象處理接私活掙零花錢,可以搜尋公眾號"qxsf321",並關注!
影象處理開發資料、影象處理開發需求、影象處理接私活掙零花錢,可以搜尋公眾號"qxsf321",並關注!
影象處理開發資料、影象處理開發需求、影象處理接私活掙零花錢,可以搜尋公眾號"qxsf321",並關注!