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;
}
相关推荐
Li_RuiQi1 分钟前
rtx4090_pi0_training_pitfalls
人工智能·机器学习
IT研究室8 分钟前
最新大数据毕业设计选题推荐-基于大数据的人工智能社交媒体情绪分析与可视化的设计与实现-大数据-Spark-Hadoop-Bigdata
大数据·人工智能·课程设计
Figo_Cheung15 分钟前
Figo生成式人工智能潜空间计算最优参数规模研究
人工智能·空间计算
这张生成的图像能检测吗15 分钟前
(论文速读)一种用于图像超分辨率的有效扩散变换结构
人工智能·计算机视觉·扩散模型·超分辨率
Eric.4616 分钟前
ComfyUI 本地部署 AI 漫剧与 AI 视频流水线:消费级显卡显存优化、角色一致性工程实战
人工智能·自动化·音视频·comfyui·ai漫剧
白猫不黑18 分钟前
AI自动化漏洞挖掘从入门到进阶超详细学习路线
人工智能·学习·web安全·网络安全·信息安全·渗透测试·自动化
百度Geek说25 分钟前
Agentic Harness Workflow 框架:把 AI Coding 变成工程化流程
人工智能
Data-Miner27 分钟前
离线AI制表:模型适配与脚本固化实操
大数据·数据库·人工智能·excel
指针向南30 分钟前
视频截图发黑先检查透明区域
图像处理·人工智能·计算机视觉·音视频
地平线开发者35 分钟前
MQBench QAT量化实践指南
人工智能·算法·自动驾驶