C++/OpenCV:Mat初始化赋值误区

cpp 复制代码
#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main() {
    int pic_height = 2;
    int pic_width = 2;

    {
        Mat alpha_map = Mat::ones(pic_height, pic_width, CV_32FC4);
        cout << "alpha_map = " << endl << alpha_map << endl;
        //alpha_map =
        //    [1, 0, 0, 0, 1, 0, 0, 0;
        //     1, 0, 0, 0, 1, 0, 0, 0]
    }
    {
        Mat alpha_map = Mat::ones(pic_height, pic_width, CV_32FC4);
        alpha_map.setTo(1);
        cout << "alpha_map = " << endl << alpha_map << endl;
        //alpha_map =
        //    [1, 1, 1, 1, 1, 1, 1, 1;
        //     1, 1, 1, 1, 1, 1, 1, 1]
    }
    {
        Mat alpha_map(pic_height, pic_width, CV_32FC4, Scalar(1.0, 1.0, 1.0, 1.0));
        cout << "alpha_map = " << endl << alpha_map << endl;
        //alpha_map =
        //    [1, 1, 1, 1, 1, 1, 1, 1;
        //     1, 1, 1, 1, 1, 1, 1, 1]
    }
    return 0;
}

一直以为下面这样会将每个通道均初始化为1,导致一个bug调了半天根本没有怀疑过这里。

连deepseek和chatgpt也这样说,实际上只会对一个通道初始化。

Mat alpha_map = Mat::ones(pic_height, pic_width, CV_32FC4);

相关推荐
白杆杆红伞伞32 分钟前
02_线性模型(回归线性模型)
人工智能·数据挖掘·回归
Johny_Zhao42 分钟前
堆叠、MLAG、VPC、VSS 技术对比及架构建议
linux·网络·人工智能·python·网络安全·ai·信息安全·云计算·cisco·等保测评·huawei·系统运维
OJAC近屿智能1 小时前
英伟达发布Llama-Nemotron系列新模型,性能超越DeepSeek-R1
大数据·人工智能·ui·aigc·llama
开门儿大弟子1 小时前
opencv+opencv_contrib+cuda和VS2022编译
人工智能·opencv·计算机视觉
Lilith的AI学习日记1 小时前
大模型Prompt工程2.0:多Prompt协同完全指南——从原理到实战,高效解锁AI深层潜力
大数据·人工智能·prompt
cnbestec1 小时前
EEG设备的「减法哲学」:Mentalab Explore如何用8通道重构高质量脑电信号?
人工智能
光电大美美-见合八方中国芯2 小时前
【平面波导外腔激光器专题系列】1064nm单纵模平面波导外腔激光器‌
网络·数据库·人工智能·算法·平面·性能优化
__Benco2 小时前
OpenHarmony平台驱动开发(十),MMC
人工智能·驱动开发·harmonyos
羊小猪~~2 小时前
深度学习基础--目标检测常见算法简介(R-CNN、Fast R-CNN、Faster R-CNN、Mask R-CNN、SSD、YOLO)
人工智能·深度学习·算法·yolo·目标检测·机器学习·cnn
虚谷232 小时前
AI时代企业应用系统架构的新思路与CIO变革指南
人工智能·系统架构