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;
}
相关推荐
MatrixOrigin2 分钟前
矩阵起源成功登陆深圳“专精特新”专板,加速 AI 数据智能新进程!
人工智能
陈天伟教授10 分钟前
人工智能技术- 语音语言- 02 机器诗人
人工智能
却道天凉_好个秋10 分钟前
OpenCV(二十九):高通滤波-索贝尔算子
人工智能·opencv·计算机视觉
AndrewHZ30 分钟前
【图像处理基石】如何从色彩的角度分析一张图是否是好图?
图像处理·计算机视觉·cv·聚类算法·色彩科学
用户5191495848451 小时前
Go语言AI智能体开发套件(ADK) - 构建复杂AI代理的开源框架
人工智能·aigc
海底的星星fly1 小时前
【Prompt学习技能树地图】检索增强生成(RAG)核心技术剖析与实践指南
人工智能·语言模型·prompt
AI研一研1 小时前
如何快速学习知识、查找要点、把知识读“薄”、读“精”?
人工智能·学习
北京耐用通信1 小时前
不只是延长,是“重生”:耐达讯自动化Profibus总线光端机如何让老旧设备数据“开口说话”?
人工智能·物联网·网络协议·自动化·信息与通信
RWKV元始智能1 小时前
体验RWKV-7训练全过程,只需400行代码训练3分钟
人工智能·算法·机器学习
点云SLAM1 小时前
四元数 (Quaternion)微分-四元数导数的矩阵表示推导(8)
线性代数·算法·计算机视觉·矩阵·机器人·slam·四元数