opencv图片换背景色

cpp 复制代码
#include <iostream>
#include<opencv2/opencv.hpp>    //引入头文件

using namespace cv;             //命名空间
using namespace std;

//opencv这个机器视觉库,它提供了很多功能,都是以函数的形式提供给我们
//我们只需要会调用函数即可

int main(int argc, char *argv[])
{
    //读一张图片
    Mat image=imread("E:/C++/project/test.jpg");        //Mat图片类型
    //显示一张图片
    imshow("1",image);

    //图片转hsv格式
    Mat hsv;
    cvtColor(image,hsv,COLOR_BGR2HSV);
    imshow("2",hsv);

    //截取颜色区域的范围inRang 在hsv取值范围内呈白色 不在范围内呈黑色
    Mat mask;//模板
    inRange(hsv,Scalar(100,43,46),Scalar(124,255,255),mask);    //蓝色最小值最大值
    imshow("3",mask);//现在的mask就是抠出蓝色的底色

    //取反操作 但是我们需要抠出的是人像
    bitwise_not(mask,mask);
    imshow("4",mask);

    //做一张红色背景图
    Mat redBack=Mat::zeros(image.size(),image.type());
    redBack=Scalar(40,40,200);//红色三原色
    imshow("5",redBack);

    //实现图片拷贝 要用到原始图片 人物头像模板 红色背景
    image.copyTo(redBack,mask);
    imshow("6",redBack);

    //参数为0的时候表示等待用户按下任意,键
    waitKey(0);
    return 0;
}
相关推荐
TracyCoder123几秒前
语言模型基础技术的开端:N-Gram与Bag-of-words详解
人工智能·语言模型·自然语言处理·n-gram·词嵌入·bag-of-words
擎创夏洛克AIOps2 分钟前
智能运维的“地基革命”:数据治理如何支撑大模型智能体?
运维·人工智能·科技
范桂飓2 分钟前
人工智能发展史 — RNN/LSTM/GRU/Transformer 序列模型发展历程
人工智能·rnn·lstm
IT_陈寒2 分钟前
React性能优化实战:5个被低估的Hooks技巧让你的应用提速30%
前端·人工智能·后端
江沉晚呤时2 分钟前
使用 C# 和 Semantic Kernel 构建 PDF 向量搜索系统:从文本提取到语义搜索
jvm·人工智能·microsoft·chatgpt·c#
啊阿狸不会拉杆2 分钟前
告别API碎片化!用AI Ping一键白嫖MiniMax-M2、GLM-4.6与Kimi-K2——清程极智打造的AI路由神器实战指南
人工智能·vscode·ai·语言模型·api
cxr8283 分钟前
基于skills实现的Pulse 群体仿真
人工智能·ai智能体·skills·群体仿真
瀚岳-诸葛弩6 分钟前
对比tensorflow,从0开始学pytorch(二)--多尺度实现
人工智能·pytorch·tensorflow
OpenBayes7 分钟前
VibeVoice-Realtime TTS重构实时语音体验;覆盖9大真实场景,WenetSpeech-Chuan让模型听懂川话
人工智能·深度学习·数据集·图像识别·语音合成·图像生成·视频生成
光羽隹衡8 分钟前
机器学习——线性回归
人工智能·机器学习·线性回归