opencv图像处理
#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图像处理相关推荐
- 免费送书啦!《 OpenCV图像处理入门与实践》一本全搞定
OpenCV 的基础图像操作都只是针对图像中的像素点,并不是直接对图像整体进行的操作.而很多时候并不能仅通过改变像素点来进行图像的操作,为此我们需要学习关于图像的算术操作. 1.图像加法 对于两张相同 ...
- 《OpenCV图像处理》——1.7 用户交互工具
本节书摘来自华章计算机<OpenCV图像处理>一书中的第1章,第1.7节,作者:[西]葛罗瑞亚·布埃诺·加西亚(Gloria Bueno García)著,更多章节内容可以访问云栖社区&q ...
- opencv图像处理总结
opencv图像处理基本操作 1. 矩阵数据类型 通用矩阵数据类型: CV_<bit_depth>(S|U|F)C<number_of_channels> 其中,S表示带符号整 ...
- python数字图像处理、色彩空间类型转换_Python+OpenCV图像处理—— 色彩空间转换...
一.色彩空间的转换 代码如下: #色彩空间转换 import cv2 as cv def color_space_demo(img): gray = cv.cvtColor(img, cv.COLOR ...
- [Python图像处理] 三十五.OpenCV图像处理入门、算数逻辑运算与图像融合(推荐)
该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...
- 210322阶段三QT事件循环及opencv图像处理
目录 一.学习的知识点 1.QT事件循环机制 1.1QT是事件驱动的.QT将系统产生的信号(软件中断)转换成QT事件,并且将事件封装成类,所有的事件类都是QEvent派生的,事件的产生和处理就是QT程 ...
- OpenCV图像处理(Python)学习笔记
OpenCV图像处理 OpenCV图像处理 第1章 OpenCV入门 第2章 图像处理基础 2.1 基本表示方法 2.2 感兴趣区域(ROI) 第3章 图像运算 3.1 加法运算 3.2 图像加权和 ...
- python 检测直线 交点_Python+OpenCV图像处理——实现直线检测
简介: 1.霍夫变换(Hough Transform) 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法.主要用来从图像中分离出具有某种相同特征的几何形状(如,直线 ...
- Python+Opencv图像处理新手入门教程(四):视频内容的读取与导出
一步一步来吧 上一节: Python+Opencv图像处理新手入门教程(三):阈值与二值化 1.Intro 今天这节我们主要看怎么利用opencv读取并处理视频中的内容. 2.VideoCapture ...
- Python+Opencv图像处理新手入门教程(三):阈值与二值化
一步一步来吧 上一节: Python+Opencv图像处理新手入门教程(二):颜色空间转换,图像大小调整,灰度直方图 1.Intro 今天这节我们主要研究利用阈值处理图像.例如对于输入图像: 如何做一 ...
最新文章
- Leetcode 之Binary Tree Postorder Traversal(44)
- jenkins-为什么要持续集成
- 用JSP实现学生查询
- SQL2005使用游标的实例(SBO中计算到期应收账款)
- 从编码层面对比java和c#
- Java中array、List、Set互相转换
- mpvue v-html 代替方法 使用 mpvue-wxparse
- 列模式 文本编辑器_UltraEdit 24.2 文本编辑器免费版
- 大数据技术包含哪些结构层次
- 图解MySQL的各种 JOIN,看完不懂来找我!
- Linux下替代grep高效文本搜索工具
- 【转载】关闭ftp中mput的上传确认提示:prompt
- 微信内置浏览器直接下载APK的解决方法
- RJ45转COM线序关系
- Coablt strike官方教程中文译版本
- STM32物联网项目-单极性步进电机28BYJ-48
- LASSO回归与L1正则化 西瓜书
- 【VPD】使用Oracle VPD(Virtual Private Database)限制用户获取数据的范围
- 官能团醛化改性修饰药物的制备
- 计算机网络谢希仁第七版答案
热门文章
- cmake 学习笔记(三) (转)
- 解决“无法找到运行搜索助理需要的一个文件”
- ICMP Internet控制报文协议(四)
- 微服务架构下,静态数据通用缓存机制!
- 好文推荐 | MySQL binlog应用场景与原理深度剖析
- Java微基准测试框架JMH
- 微服务架构如何保障双11狂欢下的99.99%高可用
- 扒一扒我遇见过哪些厌恶的技术面试官
- NanoHttpd源码分析
- php中new运算符的作用,C++_C++编程中new运算符的使用学习教程,new运算符用作从自由存储为 typ - phpStudy...