#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;
}