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;
}
相关推荐
优选资源分享6 分钟前
Motrix Next 3.4.2 丨开源多线程下载重构工具
人工智能·下载工具
草莓泰面包7 分钟前
虚拟机VMware安装OpenClaw
人工智能·ai·大模型·openclaw
qq_454245037 分钟前
重构的逻辑:从等价变换到行为改进
人工智能·重构
zhangfeng113315 分钟前
国家超算中心 命令行是否会消耗算力卡,找不到显卡,是否需要退出
人工智能·深度学习
大榕树信息科技27 分钟前
动环监控系统提升机房管理的智能化与人性化体验
数据库·人工智能·信息可视化·数据中心·动环监控系统
renhongxia134 分钟前
PostTrainBench:LLM 代理能否自动化 LLM 后培训?
运维·人工智能·深度学习·机器学习·架构·自动化·transformer
元智启37 分钟前
企业AI智能体进阶:从“单点应用”到“协同网络”,重构业务流程的三种模式
人工智能·重构
不饿吗1 小时前
在 CentOS 7.9 上安装 OpenClaw:完整指南(此文章由openclaw生成)
人工智能
UXbot1 小时前
为什么 AI 正在重新定义 UI 设计工具的入门门槛
前端·人工智能·低代码·ui·交互·ai编程·ux