要求:

将cat.jpg中猫放置到table.jpg中的桌子上

一开始我的想法是将cat.jpg中绿色部分变成透明,然后贴在table.jpg上,发现得要将图片改成png格式能增加一个表示透明度的通道,尝试过后发现达不到我的效果,不知道什么原因。后来我采用遍历cat.jpg,一个个像素替换的方法,发现比我预想简单许多。操作的时候,总会边缘有一圈绿色的抠不干净,改了几次限制条件还是不尽如人意,最后在网络上搜索了一下,说HSV的颜色空间对于绿色背景的筛选更加便当,于是将图片转化成HSV,效果还可以,比之前好很多。(代码部分opencv的头文件没有添加,用者记得加一下··)

int main(int argc, char** argv) {Mat img1 = imread("C:/Users/WU/Desktop/数字图像处理/DIP实验2/cat.jpg");Mat img2 = imread("C:/Users/WU/Desktop/数字图像处理/DIP实验2/table.jpg");
Mat img3;
cvtColor(img1, img3, COLOR_BGR2HSV); //将图像由RGB颜色模型转化为HSV颜色模型Mat roi = img2(Rect(384, 210, img1.cols, img1.rows)); //在table.jpg中创建复制区域for (int i = 0; i < img1.rows; i++)  //遍历cat.jpg中的像素{for (int j = 0; j < img1.cols; j++){if(img3.at<Vec3b>(i, j)[2] != 255 && img3.at<Vec3b>(i, j)[0] < 50) //抠图限制条件{roi.at<Vec3b>(i, j)[0] = img1.at<Vec3b>(i, j)[0];roi.at<Vec3b>(i, j)[1] = img1.at<Vec3b>(i, j)[1];roi.at<Vec3b>(i, j)[2] = img1.at<Vec3b>(i, j)[2];}}}imshow("test",img2);imwrite("cat on the table.jpg", img2);waitKey(0);destroyAllWindows();
return 0;
}

【OpenCV】C++简易实现绿色背景抠像相关推荐

  1. OBS如何做绿幕直播(滤镜实现去除绿色背景)

    OBS如何做绿幕直播(滤镜实现去除绿色背景) 一.设备 推流电脑(i7及以上,16G内存,独显加分)不推荐笔记本和苹果电脑. 摄像头(单反或摄像机需要配备采集卡和收音设备). 补光灯. 稳定的有线网络 ...

  2. OpenCV图像旋转,指定填充背景颜色边界颜色

    OpenCV图像旋转,指定填充背景颜色边界颜色 OpenCV与图像旋转有关的函数: (1)warpAffine函数 void cv::warpAffine ( InputArray  src,     ...

  3. CyberLink YouCam 新人求教一个绿色背景提取红色小球的问题

    http://www.opencv.org.cn/forum.php?mod=viewthread&tid=36980&page=1 http://blog.csdn.net/chen ...

  4. 简单的python画图代码_python opencv如何实现简易画图板 python opencv实现简易画图板代码...

    python opencv如何实现简易画图板?本篇文章小编给大家分享一下python opencv实现简易画图板代码,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 代码如下 ...

  5. 基于OpenCV的图片电影换背景小实验(可用于证件照替换背景)_计算机视觉

    前言: 经常在电影花絮中看到,特别是一些科技电影中,演员们一般都是在一个背景为浅绿色的环境中进行拍摄,但是呈现在荧幕上的时候,就是遨游海底或者太空,那这些操作究竟是怎么做到的呢?其实很简单,接下来将给 ...

  6. AE/PR插件AI智能背景抠像颜色键控GoodbyeGreenscreenzxb V1.6.0官方版

    AE/PR插件AI智能背景抠像颜色键控GoodbyeGreenscreenzxb V1.6.0官方版|紫咖啡小站插件名称: GoodbyeGreenscreenzxb更新版本: v1.6.0版授权: ...

  7. 不要上当,显示器用绿色背景有害视力

    不要上当,显示器用绿色背景有害视力 似乎直到今天还有人上这个当,我上当的经历是在8年前了.不要以为绿色对眼睛好,肉眼看到的自然界的绿色都是反射光,而且普遍偏暗,真用那么暗的绿做背景那你只能把文字都改成 ...

  8. IDEA映射文件去掉黄色和绿色背景

    XML映射文件去掉黄色背景:Settings ⇒ Editor ⇒ Inspections ⇒ SQL XML映射文件去掉绿色背景:Settings ⇒ Editor ⇒ Color Scheme ⇒ ...

  9. 去掉ubuntu下windows文件夹绿色背景

    在ubuntu下打开Windows文件夹,有绿色背景.原因是那些文件夹的读写执行访问权限引起的.在 Ubuntu中,不同权限的文件/文件夹 有不同的颜色.本文先讲方法,方法很简单,两步就完成.有兴趣的 ...

最新文章

  1. js 万年历农历转阳历 方法_Python 农历公历算法转换
  2. C语言会出现的错误,c语言,能运行但是偶尔会出现些错误,请高手们帮忙看看错在哪里啦...
  3. 基于ceres的后端优化的代码实现
  4. 针对表单的事件;条件语句;定时器的简单介绍;
  5. 3399引擎_RK3399开发板 AIO-3399C六核高性能主板
  6. C++中若类中没有默认构造函数,如何使用对象数组
  7. 程序买卖(一舟,改自网络)
  8. server sql 数据c盘迁移d盘_C盘空间不足怎么办?如何给C盘扩容?
  9. cocos2dx对于强大的RichText控制
  10. Saiku2.6 配置数据源
  11. 利用application在页面中显示访问次数
  12. 远程桌面未知的用户名_电脑在远程桌面连接时出现用户名密码错误该怎么办?...
  13. 简单使用WPE进行网页嗅探
  14. 文字输入效率神器:输入法辅助工具 KeyboardHolder
  15. 论文中的三线表绘制(word)
  16. 一起学libcef--libcef的基本类和方法介绍(如何产生一个你自己的浏览器)
  17. 双耳节拍 枕头_枕头2.2.1发布
  18. ASPCMS插件,批量ASPCMS采集发布插件
  19. 软件实施工程师需要掌握的技能
  20. 深入OpenJDK源码-偏向锁的延时生效如何实现的

热门文章

  1. 小程序技术始于微信?来看看移动端小程序技术的前世今生!
  2. 厚物科技PXI机箱PXIe机箱PXIe控制器PXIe台式测控平台HW-10183d(G2)
  3. C++ char二维数组使用总结
  4. js大小转换,字节转换成K、M、G、T 单位
  5. PC端程序和安卓应用进行socket通讯
  6. 在新版Vue中引入外部字体
  7. Transfer Learning for Non-Intrusive Load Monitoring
  8. vue仿今日头条_微信小程序仿今日头条导航栏滚动解析
  9. x战警 天启高清完整版下载
  10. 466_简略findViewById