python+opencv像素的加减和加权操作的实现

yipeiwu_com6年前Python基础

本文介绍了python+opencv像素的加减和加权操作的实现,分享给大家。

# 目标:
# 1、在图像上进行算术操作,如加减以及按位操作
# 2、将会学会使用cv2.add(),cv2.addWeights()
# 参考网站:https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_core/py_image_arithmetics/py_image_arithmetics.html#image-arithmetics
import numpy as np
import cv2
 
 
# 两种方法进行图像的加操作:
# 1、利用opencv的函数
# 2、利用numpy中的操作
# 这两个操作有些不同
# opencv中超出后并不会溢出,只会变成最大值(255),但numpy会溢出。
x = np.uint8([250])
y = np.uint8([10])
print(cv2.add(x,y))# 输出255
print(x+y)#输出4,因为发生溢出
 
### 总结:可见使用cv2的加法更加好一些,以免发生溢出现象。
 
 
 
# 两张图像按权重进行相加融合
# 这里有两张图片,一张是cat,一张是dog。将两者相加,前者权重0.3,后者0.7
img1 = cv2.imread('cat.jpg')
img2 = cv2.imread('dog.jpg')
# 注意两个图片需要相同的尺寸,否则无法进行相加或融合操作
 
img = cv2.addWeighted(img1, 0.3, img2, 0.7, 0)
# 其中最后一个0,表示两个图像相加后的常数值,这里设置为0
cv2.imshow('img',img)
cv2.waitKey()
cv2.destroyAllWindows()

图像的算术运算,需要保证两幅图片的大小一致,否则会出错。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

浅谈pandas用groupby后对层级索引levels的处理方法

浅谈pandas用groupby后对层级索引levels的处理方法

层及索引levels,刚开始学习pandas的时候没有太多的操作关于groupby,仅仅是简单的count、sum、size等等,没有更深入的利用groupby后的数据进行处理。近来数据...

Python 自动登录淘宝并保存登录信息的方法

Python 自动登录淘宝并保存登录信息的方法

前段时间时间为大家讲解了如何使用requests库模拟登录淘宝,而今天我们将对该功能进行丰富。所以我们把之前的那个版本定为1.0,而今天修改的版本定为2.0。版本的迭代意味着功能的升级,...

django-rest-framework 自定义swagger过程详解

django-rest-framework 自定义swagger过程详解

前言 之前的文章编写了一个返回json的例子,直接用浏览器进行get请求虽然成功了, 但是接口文档的样式很难看, 不好用. 而且提示没有访问权限. 我们一般都希望能够直接在接口文档中...

python实现提取百度搜索结果的方法

本文实例讲述了python实现提取百度搜索结果的方法。分享给大家供大家参考。具体实现方法如下: # coding=utf8 import urllib2 import string...

python实现的DES加密算法和3DES加密算法实例

本文实例讲述了python实现的DES加密算法和3DES加密算法。分享给大家供大家参考。具体实现方法如下: #####################################...