OpenCV中什么萬達平臺搭建論壇:haozbbs.com Q1446595067 是重映射就不贅述了,主要是對源碼中map_x,map_y有些疑惑,圖像是如何進行重映射的呢?
上下變換的部分源碼:
Mat map_x, map_y;
map_x.create(srcimg.size(), CV_32FC1);
map_y.create(srcimg.size(), CV_32FC1);
for (int i=0;i(i, j) = static_cast(j);
map_y.at(i, j) = static_cast(srcimg.rows- i);
}
}
開始看老半天不理解重映射原理,后來把map_x,map_y內(nèi)的值輸入后,大概知道了。
假設對一張10*10的圖片進行上下重映射,
根據(jù) map_x.at
根據(jù) map_y.at
輸出map_x,map_y:
map_x:
map_y:
我們可以看到,在x方向從左到右逐漸增大排列,在y方向上到下減小排列,
將map_y,map_x組合,以坐標形式輸出,則結果為
而原圖的坐標為:
對比發(fā)現(xiàn),原圖坐標和map_y,map_x組合坐標發(fā)生了上下翻轉。
然后根據(jù)坐標,把原圖坐標對應的像素點一一映射到轉換圖上,就是上下翻轉變換后的圖像,這也是圖片重映射的原理
其他的變換應該同理。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。