本篇文章主要是要介紹 (d) 部分的演算法。 

基本上 (a) (b) (c) 的部分,OpenCV都能做到。

那 (d) 呢?

因為常常被認為很簡單,所以比較沒人做。

所以在這邊提供一下演算法。

 

設圖A的矩形框為黑色,圖B的矩形框(計算出來的相對位置)為橘色

rect1  

rect  

if(Rectp[0].x<Rectp[1].x){Rectp[0].x=Rectp[1].x;}else{Rectp[1].x=Rectp[0].x;}
if(Rectp[1].y>Rectp[2].y){Rectp[1].y=Rectp[2].y;}else{Rectp[2].y=Rectp[1].y;}
if(Rectp[2].x>Rectp[3].x){Rectp[2].x=Rectp[3].x;}else{Rectp[3].x=Rectp[2].x;}
if(Rectp[3].y<Rectp[0].y){Rectp[3].y=Rectp[0].y;}else{Rectp[0].y=Rectp[3].y;}

完。


arrow
arrow
    全站熱搜

    finalfrank 發表在 痞客邦 留言(0) 人氣()