OpenCV实现彩色图像轮廓 换背景颜色
转摘请注明: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实现彩色图像轮廓 换背景颜色的更多相关文章
- jquery点击tr换背景颜色
jquery点击tr换tr的背景颜色,table的id为db-list1jQuery(function() { jQuery("#db-list1 tr").click( func ...
- 利用HTML和JS制作隔行换背景颜色的表格
1.源代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
- 永久改变cmd背景颜色
问题描述:cmd窗口为白底黑字,用久之后想换背景颜色. 解决方法一: win+R 输入regedis进入注册表,找到 HKEY_CURRENT_USER\Software\Microsoft\Comm ...
- opencv —— floodFill 漫水填充法 实现证件照换背景
漫水填充:floodFill 函数 简单来说,漫水填充就是自动选中与种子像素相连的区域,利用指定颜色进行区域颜色填充.Windows 画图工具中的油漆桶功能和 Photoshop 的魔法棒选择工具,都 ...
- CSS3全览_文本+视觉+盒子+背景颜色
CSS全览_文本+视觉+盒子+背景颜色 目录 CSS全览_文本+视觉+盒子+背景颜色 1. 文本属性 2. 视觉格式化基础 3. 内边距, 边框, 轮廓和外边距 4. 颜色, 背景和渐变 作者: ht ...
- eclipse 设置编辑窗口字体和背景颜色
最近装了几次系统,公司也换过电脑,所以换了几次eclipse,当然家里用的当然是最新版,公司就只有用几百年前的东西了 进入重点,我的编辑窗口习惯使用灰色的背景,感觉全白的不好看,还伤视力(没有科学依据 ...
- 修改终端下vim的PopupMenu选种项的背景颜色
我平常比较喜欢使用终端下的 VIM,最方便的就是随时可以使用ctrl+z切换到终端下执行命令, 然后再通过fg切换回 VIM.如果再有个透明效果,那就更赞了.不过最近换了一个配色ron 后, 有个比较 ...
- PS更换证件照背景颜色
同学们大家好,我是阿宝老师,今天给大家讲一下如何使用PS更换证件照背景色. 目前使用PS更换证件照底片有三种方式,这三种方式虽有不同,但是最终目的都是将人像从背景中抠出来.扣取人像有三种方法可供选取, ...
- CorelDRAW快速去除图片背景颜色
当我们需要从网上借助一些素材图片在CorelDRAW中运用时,往往需要去掉图片的背景颜色.本文小编分享CDR中如何快速去除图片背景颜色的方法,通过此方法可以做简单的照片抠图.合成. 1. 打开Core ...
随机推荐
- jenkins安装部署全过程
基本配置: 1.Linux安装配置jdk环境 1.1.上传到 Linux 服务器:例如: 上传至: cd /usr/local 1.2.解压: rpm -ivh jdk-8u111-linux-x64 ...
- Learning-Python【5】:Python数据类型(1)—— 整型、浮点型、字符串
一.整型 1.用途:记录年龄.等级.各种号码等 2.定义方式 age = 22 只能将纯数字的字符串转换成整型 3.常用操作+内置方法 赋值运算.比较运算.算数运算 该类型总结: 存一个值 不可变(可 ...
- IdentityServer4支持的授权类型以及组合
支持的授权类型: implicit hybrid authorization_code client_credentials password 支持的组合: implicit implicit,cli ...
- 05. .stop、.prevent、.capture、.self、.once、
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- _recruit
- LINQ解析
Linq 是什么? Linq是Language Integrated Query的缩写,即“语言集成查询“的意思,Linq的提出就是为了提供一种跨各种数据源统一查询方式,主要包含四种组件:Linq t ...
- [Android] QPST,解BL锁,刷Recovery,备份系统,root,刷框架.
QPST刷到qpst的1.9出厂版本,这个版本的BootLoader是锁定的: bootloader locked.其他版本不会重新锁定,只能relocked,不能恢复最初的locked,这样就不能升 ...
- scrapy中XMLFeedSpider
爬取案例: 目标网站: url = 'http://www.chinanews.com/rss/scroll-news.xml' 页面特点: 先创建爬虫项目: 也可以查看爬虫类: 创建xmlFeed ...
- linux安装redis ,mariadb
linux下安装软件方法 1 rpm (不推荐使用) 2 yum 安装(非常方便快捷) 3 编译安装(需要自定制的时候才使用) 安装mariadb(mysql) 1 使用官方源安装mariadb vi ...
- StringEscapeUtils对字符串进行各种转义与反转义
项目过程中导出的word无法打开,发现是由于里面有&字符造成,需要进行HTML字符的转义: StringEscapeUtils.escapeHtml4(“需要转义的字符”); 已解决. 参考: ...