給定兩張照片A和B,其中B為A的一部分截圖,利用opencv如何確定B在A中的位置了?我想知道B在A中的位置,從而實作A和B的相減,摳出A中非B部分。求大神指導。是不是涉及到影像配準。
uj5u.com熱心網友回復:
B是A的精確的一部分還是略有差異,比如大小、亮度、飽和度之類的和A中的那部分能否完全一致?如果能精確對應那就簡單了,把A的寬高減掉B的寬高,得出A中的一個區域(0, 0, w, h),把B的左上角對準這個區域的每一個像素做一次xor(當然每次要對A的副本做),然后求副本A中被B xor區域的像素和,如果是全0那就表明找到了(此時A中已經摳掉B了)。
uj5u.com熱心網友回復:
樓上,沒太聽明白,能講的具體點嗎,大神uj5u.com熱心網友回復:
已經很具體了,如果B是A的確切的一部分,那么你把B用Bitblt和A中的原位置做一個XOR(拷貝模式SRCINVERT),這個區域就會變成全0,演算法就是逐次把這個位置試出來。uj5u.com熱心網友回復:
懂了,謝謝大神轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/95786.html
標籤:基礎類
上一篇:continue應該調到哪里
