yddcs 2022-10-18 14:58
浏览 25
已结题

立体匹配中的remap前后的像素对应关系

opencv 双目匹配中的remap前后的像素对应关系如何求出?

rectifiedL = cv2.remap(imgreL, left_map_x, left_map_y, cv2.INTER_LINEAR, borderValue=cv2.BORDER_REPLICATE)
rectifiedR = cv2.remap(imgreR, right_map_x, right_map_y, cv2.INTER_LINEAR, borderValue=cv2.BORDER_REPLICATE)
void Imgremap(Mat srcImg, Mat &dstImg, float *mapx, float *mapy)
{
    int x, y;
    float u, v;

    /* 纯浮点运算,执行映射+插值过程 */
    for (int i = 0; i < srcImg.rows; i++)
    {
        for (int j = 0; j < srcImg.cols; j++)
        {
            x = (int)mapx[i*srcImg.cols + j];
            y = (int)mapy[i*srcImg.cols + j];

            if (x > 1 && x < (srcImg.cols - 1) && y > 1 && y < (srcImg.rows - 1))
            {
                u = mapx[i*srcImg.cols + j] - x;
                v = mapy[i*srcImg.cols + j] - y;
                dstImg.ptr<uchar>(i)[j] = (uchar)((1 - u)*(1 - v)*srcImg.ptr<uchar>(int(y))[int(x)] + (1 - u)*v*srcImg.ptr<uchar>(int(y + 1))[int(x)]
                    + u * (1 - v)*srcImg.ptr<uchar>(int(y))[int(x + 1)] + u * v*srcImg.ptr<uchar>(int(y + 1))[int(x + 1)]);
                //cout << (int)(dstImg.ptr<uchar>(i)[j]) << endl;
            }
            else
            {
                dstImg.ptr<uchar>(i)[j] = 0;
            }
        }
    }
}

参考链接 https://cloud.tencent.com/developer/ask/sof/1141000/answer/1592870

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 10月26日
    • 专家修改了标签 10月18日
    • 创建了问题 10月18日

    悬赏问题

    • ¥20 verilog状态机方法流水灯
    • ¥15 pandas代码实现不了意图
    • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
    • ¥25 LT码在高斯信道下的误码率仿真
    • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
    • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
    • ¥15 电视版的优酷可以设置电影连续播放吗?
    • ¥50 复现论文;matlab代码编写
    • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
    • ¥15 数字图像的降噪滤波增强