OpenCV中什么萬達平臺搭建論壇:haozbbs.com Q1446595067 是重映射就不贅述了,主要是對源碼中map_x,map_y有些疑惑,圖像是如何進行重映射的呢?
寧縣ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
上下變換的部分源碼:
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)的值輸入后,大概知道了。
假設(shè)對一張10*10的圖片進行上下重映射,
根據(jù) map_x.at
根據(jù) map_y.at
輸出map_x,map_y:
map_x:
map_y:
我們可以看到,在x方向從左到右逐漸增大排列,在y方向上到下減小排列,
將map_y,map_x組合,以坐標形式輸出,則結(jié)果為
而原圖的坐標為:
對比發(fā)現(xiàn),原圖坐標和map_y,map_x組合坐標發(fā)生了上下翻轉(zhuǎn)。
然后根據(jù)坐標,把原圖坐標對應(yīng)的像素點一一映射到轉(zhuǎn)換圖上,就是上下翻轉(zhuǎn)變換后的圖像,這也是圖片重映射的原理
其他的變換應(yīng)該同理。