opencv图像处理
#coding=utf-8
import cv2
import numpy as np img1 = 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 np img1 = 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] = dst cv2.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
opencv图像处理的更多相关文章
- OpenCV图像处理篇之边缘检测算子
OpenCV图像处理篇之边缘检测算子 转载: http://xiahouzuoxin.github.io/notes/ 3种边缘检测算子 一阶导数的梯度算子 高斯拉普拉斯算子 Canny算子 Open ...
- Python+OpenCV图像处理(一)
Python+OpenCV图像处理(一): 读取,写入和展示图片 调用摄像头拍照 调用摄像头录制视频 1. 读取.写入和展示图片 图像读入:cv2.imread() 使用函数cv2.imread() ...
- Python+OpenCV图像处理(一)——读取显示一张图片
先在此处先声明,后面学习python+opencv图像处理时均参考这位博主的博文https://blog.csdn.net/u011321546/article/category/7495016/2? ...
- 1.5快速上手OpenCV图像处理
在上一节中,已经完成了OPENCV的配置,在本节接触几个Opencv图像处理相关的程序,看看opencv用简洁的代码能够实现哪些有趣的图像效果. 1.第一个程序:图像显示 #include<op ...
- 《OpenCV图像处理编程实例》
<OpenCV图像处理编程实例>例程复现 随书代码下载:http://www.broadview.com.cn/28573 总结+遇到的issue解决: 第一章 初识OpenCV 1.VS ...
- OpenCV图像处理学习笔记-Day1
OpenCV图像处理学习笔记-Day1 目录 OpenCV图像处理学习笔记-Day1 第1课:图像读入.显示和保存 1. 读入图像 2. 显示图像 3. 保存图像 第2课:图像处理入门基础 1. 基本 ...
- OpenCV图像处理学习笔记-Day03
OpenCV图像处理学习笔记-Day03 目录 OpenCV图像处理学习笔记-Day03 第31课:Canny边缘检测原理 第32课:Canny函数及使用 第33课:图像金字塔-理论基础 第34课:p ...
- OpenCV图像处理学习笔记-Day4(完结)
OpenCV图像处理学习笔记-Day4(完结) 第41课:使用OpenCV统计直方图 第42课:绘制OpenCV统计直方图 pass 第43课:使用掩膜的直方图 第44课:掩膜原理及演示 第45课:直 ...
- Zedboard甲诊opencv图像处理(三)
整个工程进展到这一步也算是不容易吧,但技术含量也不怎么高,中间乱起八糟的错误太烦人了,不管怎么样,现在面临了最大的困难吧,图像处理算法.算法确实不好弄啊,虽然以前整过,但都不是针对图像的. 现在的图像 ...
- 基于Opencv图像处理的时时头像採集试验
2014 4.20 近期想做一个关于图像处理的软件玩玩,可惜也没有什么特别的想法,就当玩玩好了,准备用Opencv开源库实现下简单的功能吧. Opencv是一个专业的图像处理库,里面有非常多基础函数能 ...
随机推荐
- 工作笔记-javascript-网络层封装
/** * @Author Mona * @Date 2016-12-08 * @description 网络层封装 */ /** * 封装基本请求方式 */ window.BaseRequest = ...
- 成员函数查找[条款24]---《C++必知必会》
调用一个成员函数,涉及三个步骤:第一步,编译器查找函数的名字:第二部,从可用候选者中选择最佳匹配函数:第三步,检查是否具有访问该函数的权限. #include<iostream> usin ...
- git 更新某个文件
1.拉取某个仓库的某个文件 git fetch git checkout origin/master test.php
- 网页图片jpg,gif,png对比。
总结:照片类的jpg如:banner图,小图gif或png8 GIF格式特点: 透明性 Gif是一种布尔透明类型,既它可以是全透明,也可以是全不透明,但是它并没有半透明(alpha 透明). 动画 G ...
- Python+Appium API
1.contextscontexts(self): Returns the contexts within the current session. 返回当前会话中的上下文,使用后可以识别H5页面的控 ...
- 【android】 如何把gif图片下载到本地
以上图片大家可以看到,虽然是个jpg格式的文件,但是本质上是个动图. 但是发现在咱的图片模块下,本地存储的图片只有一帧,问题出在哪里呢? http获取到的byte[]数据是没问题的 断点跟踪了下,发现 ...
- 某个php爬虫程序分析--来自wooyun
乌云漏洞编号: WooYun-2014-68061 作者:hkAssassin 爬虫程序源码: <?php header("content-type:text/html;charset ...
- 使用Xib创建自定义视图(不是cell)时需要注意的问题
开发项目过程中,有些地方不免会用到Xib来提高开发效率,如果你的手速够快,写代码建视图,我并不反对这样做.因为我以前也是纯手写代码开发. 进入正题,Xib好用,但是这些下面这些问题需要注意一下. 问题 ...
- PHP联接MySQL
<?php echo "This is a test</br>"; echo "asdfasdfadsf"; $mysql_server_na ...
- C++通过HTTP请求Get或Post方式请求Json数据(转)
原文网址:https://www.cnblogs.com/shike8080/articles/6549339.html #pragma once#include <iostream>#i ...