转摘请注明:https://i.cnblogs.com/EditPosts.aspx?opt=1

有时候我们需要不一样颜色的证件照,下面就用OpenCV来实现证件照的蓝底、红底等换颜色;

代码如下:

 #include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat g_srcImage = imread("11.jpg");
imshow("g_srcImage", g_srcImage);
waitKey(); vector<Mat> g_vChannels;
split(g_srcImage, g_vChannels); Mat imageBlueChannel = g_vChannels.at();
Mat imageGreenChannel = g_vChannels.at();
Mat imageRedChannel = g_vChannels.at(); Mat img_B = ( * imageBlueChannel - imageGreenChannel - imageRedChannel);
imshow("img_B", img_B);
waitKey(); threshold(img_B, img_B, , , CV_THRESH_OTSU);
imshow("img_B_g", img_B);
waitKey(); //对每个轮廓进行分析
vector <Mat> contours;
vector <Vec4i> hierarchy;
double min_area = ;//小于50的认为不是数字 findContours(img_B, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE); // fill external contours
if (!contours.empty() && !hierarchy.empty())
{
for (int idx = ; idx < contours.size(); idx++)
{
//Mat temp_img(Size(img_B.size()), CV_8U, Scalar(0));
drawContours(img_B, contours, idx, Scalar(), CV_FILLED, );//填充 形成区域 drawContours(g_srcImage, contours, idx, Scalar(,,), CV_FILLED, );//填充 形成区域 }
}
imshow("g_srcImage11", g_srcImage);
waitKey();
imwrite("g_srcImage.bmp", g_srcImage); }

效果图:

OpenCV实现彩色图像轮廓 换背景颜色的更多相关文章

  1. jquery点击tr换背景颜色

    jquery点击tr换tr的背景颜色,table的id为db-list1jQuery(function() { jQuery("#db-list1 tr").click( func ...

  2. 利用HTML和JS制作隔行换背景颜色的表格

    1.源代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  3. 永久改变cmd背景颜色

    问题描述:cmd窗口为白底黑字,用久之后想换背景颜色. 解决方法一: win+R 输入regedis进入注册表,找到 HKEY_CURRENT_USER\Software\Microsoft\Comm ...

  4. opencv —— floodFill 漫水填充法 实现证件照换背景

    漫水填充:floodFill 函数 简单来说,漫水填充就是自动选中与种子像素相连的区域,利用指定颜色进行区域颜色填充.Windows 画图工具中的油漆桶功能和 Photoshop 的魔法棒选择工具,都 ...

  5. CSS3全览_文本+视觉+盒子+背景颜色

    CSS全览_文本+视觉+盒子+背景颜色 目录 CSS全览_文本+视觉+盒子+背景颜色 1. 文本属性 2. 视觉格式化基础 3. 内边距, 边框, 轮廓和外边距 4. 颜色, 背景和渐变 作者: ht ...

  6. eclipse 设置编辑窗口字体和背景颜色

    最近装了几次系统,公司也换过电脑,所以换了几次eclipse,当然家里用的当然是最新版,公司就只有用几百年前的东西了 进入重点,我的编辑窗口习惯使用灰色的背景,感觉全白的不好看,还伤视力(没有科学依据 ...

  7. 修改终端下vim的PopupMenu选种项的背景颜色

    我平常比较喜欢使用终端下的 VIM,最方便的就是随时可以使用ctrl+z切换到终端下执行命令, 然后再通过fg切换回 VIM.如果再有个透明效果,那就更赞了.不过最近换了一个配色ron 后, 有个比较 ...

  8. PS更换证件照背景颜色

    同学们大家好,我是阿宝老师,今天给大家讲一下如何使用PS更换证件照背景色. 目前使用PS更换证件照底片有三种方式,这三种方式虽有不同,但是最终目的都是将人像从背景中抠出来.扣取人像有三种方法可供选取, ...

  9. CorelDRAW快速去除图片背景颜色

    当我们需要从网上借助一些素材图片在CorelDRAW中运用时,往往需要去掉图片的背景颜色.本文小编分享CDR中如何快速去除图片背景颜色的方法,通过此方法可以做简单的照片抠图.合成. 1. 打开Core ...

随机推荐

  1. centos6.5下安装tomcat

    linux在安装tomcat之前必须已安装jdk 已下载好tomcat 拖到centos系统的桌面 现在在桌面目录下 mv apache-tomcat-8.5.39.tar.gz /usr/local ...

  2. 【Entity Framework】Model First Approach

    EF中的model first 所谓mf, 就是使用vs提供的edm designer去设计model,然后将设计好的model使用vs在指定的数据库中生成数据库即可. 当你的项目既没有数据库也没有c ...

  3. 2_Linux操作系统和基础命令行

    非图形页面下执行程序GUI接口CLI接口 #输入命令,给出执行文件的路径 命令提示符,prompt(表示可以立即输入命令了) 命令提示符通过bash(shell)运行程序来展示的 #:root #就是 ...

  4. 51Nod - 1384 正常解法

    这个是正常解法 #include<stdio.h> #include<string.h> #include<math.h> #include<time.h&g ...

  5. java笔记 -- java简单结构代码解析及注释

    结构代码解析 public class FirstSample { public static void main(String[] args) { System.out.println(2.0-1. ...

  6. 简单粗暴的上传项目至 Github

    嗯,写了一个项目,觉得还OK,就想放在 Github 继续维护和方便使用,那么如何简单快速的将代码上传至 Github 上? 1.  你得有自己的 Github账号,如何创建账号这里就不说了.因为.. ...

  7. Redis入门指南之一(简介)

    1. 简介 Redis是一个开源的.高性能的.基于键值对的缓存与存储系统,通过提供多种键值数据类型来适应不同的场景下的缓存与存储需求.同时Redis的诸多高级功能使其可以胜任消息队列.任务队列等不同的 ...

  8. 数字类型转换 --Python3

    数值运算符可以隐式转换输出结果的数字类型,另外,Python内置的数字类型转换函数可以显示地在数字类型之间转换: 函数 描述 int(x) 将x转换为整数,x可以是浮点数和字符串类型 float(x) ...

  9. You Dream. We Test.

      https://www.keysight.com/us/en/home.html https://www.ixiacom.com/ IXIA 被收,才发现她

  10. safari图片跨域

    http://blog.csdn.net/renfufei/article/details/51675148