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;
}
相关推荐
龙亘川2 分钟前
系统监控业务建模:从运行状态监测到异常处置恢复闭环
大数据·人工智能·智慧城市·开源软件·数据可视化
loulanyue_10 分钟前
自动化AI研究仅需2年,ASI只需3到4年——读OpenAI联创John Schulman激辩递归自我改进RSI
运维·人工智能·自动化
闭包不眠10 分钟前
竖拍视频宽高显示1920×1080?两种存法怎么分辨
图像处理·人工智能·计算机视觉·音视频
枯木◊靠推文躺平版11 分钟前
2026企业AI办公工具选型指南:单点工具与 Work Agent 如何取舍
大数据·人工智能
硅谷秋水12 分钟前
EmbodiRSI:面向数据高效机器人适配的递归自我改进
人工智能·深度学习·语言模型·机器人
揽秀亭长13 分钟前
如何从视频中提取完整文案?常见方法及技术流程整理
人工智能·音视频·语音识别
PANews19 分钟前
从宇树科技到Winverse AI,DeepSeek梁文锋的物理世界新棋局
人工智能·科技
cspttty26 分钟前
2027校招AI产品经理准备指南:数据科学专业如何从模型走向产品
人工智能·产品经理
倔强的石头10626 分钟前
多模态大模型架构_视觉语言模型VLM原理
人工智能·语言模型·自然语言处理
MiYi1240626 分钟前
2026深度体验:智能体办公工具助力企业协同效率提升实测
大数据·人工智能