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);

相关推荐
华农DrLai2 小时前
什么是LLM做推荐的三种范式?Prompt-based、Embedding-based、Fine-tuning深度解析
人工智能·深度学习·prompt·transformer·知识图谱·embedding
东北洗浴王子讲AI2 小时前
GPT-5.4辅助算法设计与优化:从理论到实践的系统方法
人工智能·gpt·算法·chatgpt
超低空3 小时前
OpenClaw Windows 安装详细教程
人工智能·程序员·ai编程
恋猫de小郭3 小时前
你的代理归我了:AI 大模型恶意中间人攻击,钱包都被转走了
前端·人工智能·ai编程
yongyoudayee3 小时前
2026 AI CRM选型大比拼:四大架构路线实测对比
人工智能·架构
高洁014 小时前
多模态AI模型融合难?核心问题与解决思路
人工智能·深度学习·机器学习·数据挖掘·transformer
碑 一4 小时前
视频分割Video K-Net
人工智能·计算机视觉
renhongxia14 小时前
ORACLE-SWE:量化Oracle 信息信号对SWE代理的贡献
人工智能·深度学习·学习·语言模型·分类
AI自动化工坊4 小时前
Google LiteRT-LM生产级部署指南:如何在边缘设备实现高效LLM推理?
人工智能·ai·llama
互联网江湖5 小时前
携程当学胖东来
人工智能