c++ - Opencv::Convert Mat_< Vec3f> 为正常的 8 位彩色图像

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

我正在使用 opencv 拉普拉斯混合技术之一按照此代码合并 2 张图像

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

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

我试过了

blend.convertTo(blend, blend, CV_8U)

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

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

blend.copyTo(newImage)

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

最佳答案

检查这段代码,

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

有关更多信息,请阅读 here

关于c++ - Opencv::Convert Mat_< Vec3f> 为正常的 8 位彩色图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23101840/

相关文章:

c++ - 在 MSSQL 查询中使用 C++ 变量

c++ - 为什么不能将 const 对象放入 STL 容器中?

c++ - 使用 STL multimap 为选择性项目赋值

JavaCV FFmpegFrameRecorder 不保存/写入磁盘

opencv - 双边滤波器函数中直径和西格玛参数的数学关系是什么?

python - 如何通过移除移动物体从多个图像中获取背景?

c++ - 通过元编程选择函数

python - 使用 Python 进行视网膜血管分割

c++ - Opencv矩阵范围L值: Is this a bug?

matlab - 如何在Matlab中将高光谱图像转换为RGB