【问题标题】:Opencv:: Convert Mat_< Vec3f> to normal 8 bit color imageOpencv:: 将 Mat_<Vec3f> 转换为普通 8 位彩色图像
【发布时间】:2014-05-30 21:03:12
【问题描述】:

我正在使用其中一种 opencv 拉普拉斯混合技术按照此代码合并 2 个图像

http://www.morethantechnical.com/2011/11/13/just-a-simple-laplacian-pyramid-blender-using-opencv-wcode/

代码使用 Mat_ 来存储生成的图像。我的问题是如何将这个结果图像转换回正常的 8UC3 BGR 图像

我试过了

blend.convertTo(blend, blend, CV_8U)

但这给出了断言失败的错误

我也尝试创建一个相同大小的新彩色图像,然后

blend.copyTo(newImage)

但该图像有一些部分是彩色的,其他部分是灰色的

【问题讨论】:

    标签: c++ opencv image-processing type-conversion


    【解决方案1】:

    检查此代码sn-p,

    Mat_<Vec3f> blend;//fill it 
    Mat dst = Mat(blend);
    

    更多信息请阅读here

    【讨论】:

    • 这行得通....!!! copyTo 也可以,我只是忘记了我在之前的代码执行中将第二张图像转换为灰度。
    猜你喜欢
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    • 1970-01-01
    • 2015-05-02
    • 1970-01-01
    相关资源
    最近更新 更多