#coding=utf-8
import cv2
import numpy as npimg1 = cv2.imread("3.jpg")
img2 = cv2.imread("4.jpg")
#图像大小不同不能合并,因此裁剪一下
img1 = img1[0:180,0:180]
img2 = img2[0:180,0:180]img = img1 + img2
#这种图像加法与前面的一种不同之处在于,如果所加的和大于255,那就按255处理,所以看起来会白一些
add = cv2.add(img1,img2)
#带权值的加法
weight = cv2.addWeighted(img1,0.6,img2,0.4,0)cv2.imshow('image',img)
cv2.imshow('add',add)
cv2.imshow('weight',weight)
cv2.waitKey (0)
cv2.destroyAllWindows()

——

——

#coding=utf-8
import cv2
import numpy as npimg1 = cv2.imread("0.jpg")
img2 = cv2.imread("1.jpg")# img2 = img2[0:180,0:180]
#在图一中找到和图二大小一样的那块区域
rows,cols,channels = img2.shape
roi = img1[0:rows,0:cols]
#转换为灰度图像
img2gray = cv2.cvtColor(img2,cv2.COLOR_BGR2GRAY)
#隔离图像上像素的边缘,仅与图像有关(即图像的白色区域剔除),下面函数将大于220像素的值置为0,小于的置为255
ret,mask = cv2.threshold(img2gray,220,255,cv2.THRESH_BINARY_INV)
#通过反转上面的图像创建掩码(因为不希望背景影响叠加)
mask_inv = cv2.bitwise_not(mask)
#使用位“与”运算来提取面具精确的边界
#取ROI中与mask中不为零的值对应的像素的值,其让值为0
img1_bg = cv2.bitwise_and(roi,roi,mask=mask_inv)
#取roi中与mask_inv中不为零的值对应的像素的值,其他值为0
img2_fg = cv2.bitwise_and(img2,img2,mask=mask)
#重合图像
dst = cv2.add(img1_bg,img2_fg)
img1[0:rows,0:cols] = dstcv2.imshow('img2gry',img2gray)
cv2.imshow('mask',mask)
cv2.imshow('mask_inv',mask_inv)
cv2.imshow('img1_bg',img1_bg)
cv2.imshow('img2_fg',img2_fg)
cv2.imshow('dst',dst)
cv2.imshow('res',img1)cv2.waitKey (0)
cv2.destroyAllWindows()

原图:

最终效果图:

https://www.kancloud.cn/aollo/aolloopencv/263215

http://blog.csdn.net/u011028345/article/details/77278467

转载于:https://www.cnblogs.com/cunyusup/p/8537154.html

opencv图像处理相关推荐

  1. 免费送书啦!《 OpenCV图像处理入门与实践》一本全搞定

    OpenCV 的基础图像操作都只是针对图像中的像素点,并不是直接对图像整体进行的操作.而很多时候并不能仅通过改变像素点来进行图像的操作,为此我们需要学习关于图像的算术操作. 1.图像加法 对于两张相同 ...

  2. 《OpenCV图像处理》——1.7 用户交互工具

    本节书摘来自华章计算机<OpenCV图像处理>一书中的第1章,第1.7节,作者:[西]葛罗瑞亚·布埃诺·加西亚(Gloria Bueno García)著,更多章节内容可以访问云栖社区&q ...

  3. opencv图像处理总结

    opencv图像处理基本操作 1. 矩阵数据类型 通用矩阵数据类型: CV_<bit_depth>(S|U|F)C<number_of_channels> 其中,S表示带符号整 ...

  4. python数字图像处理、色彩空间类型转换_Python+OpenCV图像处理—— 色彩空间转换...

    一.色彩空间的转换 代码如下: #色彩空间转换 import cv2 as cv def color_space_demo(img): gray = cv.cvtColor(img, cv.COLOR ...

  5. [Python图像处理] 三十五.OpenCV图像处理入门、算数逻辑运算与图像融合(推荐)

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  6. 210322阶段三QT事件循环及opencv图像处理

    目录 一.学习的知识点 1.QT事件循环机制 1.1QT是事件驱动的.QT将系统产生的信号(软件中断)转换成QT事件,并且将事件封装成类,所有的事件类都是QEvent派生的,事件的产生和处理就是QT程 ...

  7. OpenCV图像处理(Python)学习笔记

    OpenCV图像处理 OpenCV图像处理 第1章 OpenCV入门 第2章 图像处理基础 2.1 基本表示方法 2.2 感兴趣区域(ROI) 第3章 图像运算 3.1 加法运算 3.2 图像加权和 ...

  8. python 检测直线 交点_Python+OpenCV图像处理——实现直线检测

    简介: 1.霍夫变换(Hough Transform) 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法.主要用来从图像中分离出具有某种相同特征的几何形状(如,直线 ...

  9. Python+Opencv图像处理新手入门教程(四):视频内容的读取与导出

    一步一步来吧 上一节: Python+Opencv图像处理新手入门教程(三):阈值与二值化 1.Intro 今天这节我们主要看怎么利用opencv读取并处理视频中的内容. 2.VideoCapture ...

  10. Python+Opencv图像处理新手入门教程(三):阈值与二值化

    一步一步来吧 上一节: Python+Opencv图像处理新手入门教程(二):颜色空间转换,图像大小调整,灰度直方图 1.Intro 今天这节我们主要研究利用阈值处理图像.例如对于输入图像: 如何做一 ...

最新文章

  1. Leetcode 之Binary Tree Postorder Traversal(44)
  2. jenkins-为什么要持续集成
  3. 用JSP实现学生查询
  4. SQL2005使用游标的实例(SBO中计算到期应收账款)
  5. 从编码层面对比java和c#
  6. Java中array、List、Set互相转换
  7. mpvue v-html 代替方法 使用 mpvue-wxparse
  8. 列模式 文本编辑器_UltraEdit 24.2 文本编辑器免费版
  9. 大数据技术包含哪些结构层次
  10. 图解MySQL的各种 JOIN,看完不懂来找我!
  11. Linux下替代grep高效文本搜索工具
  12. 【转载】关闭ftp中mput的上传确认提示:prompt
  13. 微信内置浏览器直接下载APK的解决方法
  14. RJ45转COM线序关系
  15. Coablt strike官方教程中文译版本
  16. STM32物联网项目-单极性步进电机28BYJ-48
  17. LASSO回归与L1正则化 西瓜书
  18. 【VPD】使用Oracle VPD(Virtual Private Database)限制用户获取数据的范围
  19. 官能团醛化改性修饰药物的制备
  20. 计算机网络谢希仁第七版答案

热门文章

  1. cmake 学习笔记(三) (转)
  2. 解决“无法找到运行搜索助理需要的一个文件”
  3. ICMP Internet控制报文协议(四)
  4. 微服务架构下,静态数据通用缓存机制!
  5. 好文推荐 | MySQL binlog应用场景与原理深度剖析
  6. Java微基准测试框架JMH
  7. 微服务架构如何保障双11狂欢下的99.99%高可用
  8. 扒一扒我遇见过哪些厌恶的技术面试官
  9. NanoHttpd源码分析
  10. php中new运算符的作用,C++_C++编程中new运算符的使用学习教程,new运算符用作从自由存储为 typ - phpStudy...