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 小时前
文章分享——相似函数处理方法
人工智能·后端·程序员
Bigfish_coding2 小时前
前端转agent-【python】-12 LangChain 入门实战:RAG + LCEL 链式调用
人工智能
程序员cxuan3 小时前
读懂 Claude Code 架构分析系列,第一篇,开始!
人工智能·后端·架构
饼干哥哥3 小时前
扣子3.0测评:我让 Codex 和 Claude Code 住同一个桌面,结果它们打架了!
人工智能·开源·代码规范
Token炼金师3 小时前
IP-Adapter:解耦交叉注意力如何让扩散模型看见图像
人工智能
Bigfish_coding4 小时前
前端转agent-【python】-11 LangGraph 高级特性:时间旅行与人工介入
人工智能
Token炼金师4 小时前
从safetensors到像素:ComfyUI Checkpoint加载机制的底层拆解
人工智能
AI闲人4 小时前
AI 写代码越来越快,为什么 Code Review 反而更慢了?
人工智能·code review·ai 编程
武子康4 小时前
调查研究-202 SGLang 深度解析:为什么大模型推理框架不只是“把模型跑起来“
人工智能·openai·agent
我是大卫4 小时前
Trae 读取 agents.md 并驱动 AI 完整底层原理
人工智能