深度图像转换为灰度图

    Mat src = imread("path", IMREAD_UNCHANGED); //对于深度为8位的普通深度图,IMREAD_UNCHANGED可以省略,若原始深度图像的深度为16位,不能省略,否则src会成为三通道的色彩图像
    Mat Gray = Mat(src.rows, src.cols, CV_8UC1);

    for (size_t i = 0; i < src.rows; i++)
    {
        uchar* data_gray = Gray.ptr<uchar>(i);
        ushort* data_src = src.ptr<ushort>(i); //16位用ushort,如果为8位则改为uchar
        for (size_t j = 0; j < src.cols; j++)
        {
            if (data_src[j]<max && data_src[j]>min) //max,min表示需要的深度值的最大/小值
            {
                data_gray[j] = (data_src[j] - min) / (max - min) * 255.0f;
            }
            else
            {
                data_gray[j] = 255;
            }
        }
    }
    imwrite("path", Gray);
    imshow("gray", Gray);
    waitKey(0);
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值