【OpenCV】使用projectPoints实现透视图到俯视图的变化效果
生活随笔
收集整理的這篇文章主要介紹了
【OpenCV】使用projectPoints实现透视图到俯视图的变化效果
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
使用projectPoints函數(shù)創(chuàng)建透視圖到俯視圖的坐標映射表后,詳見:OpenCV的projectPoints函數(shù)用法https://blog.csdn.net/lyq_12/article/details/82800790
調(diào)用如下函數(shù),實現(xiàn)透視圖到俯視圖的轉(zhuǎn)換過程。
//實現(xiàn)透視圖到俯視圖的轉(zhuǎn)換過程 void convertFunc( Mat &srcImg, Mat &dstImg, Mat &conversion) {//遍歷dstImg高度for (int i = 0; i < 800; i++){//取dstImg的指針uchar* pDstData = dstImg.ptr<uchar>(i); //遍歷dstImg寬度for(int j = 0; j < 420; j++){int u = conversion.at<short>(0, i * 420 + j);int v = conversion.at<short>(1, i * 420 + j);//判斷是非越界,保證(u,v)在srcImg圖像范圍內(nèi)if ((0 <= u && u < 1600) && (0 <= v && v < 800)){//單通道轉(zhuǎn)換//pDstData[j] = srcImg.at<uchar>(v,u);//三通道轉(zhuǎn)換pDstData[3*j] = srcImg.at<Vec3b>(v,u)[0];pDstData[3*j+1] = srcImg.at<Vec3b>(v,u)[1];pDstData[3*j+2] = srcImg.at<Vec3b>(v,u)[2];} }} }效果如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? srcImg? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? dstImg
? ? ? ? ?? ? ?
? ? ? ? ? ? ? ?
總結(jié)
以上是生活随笔為你收集整理的【OpenCV】使用projectPoints实现透视图到俯视图的变化效果的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python初学者之ImportErro
- 下一篇: 一维行滤波提取俯视图下的车道线特征