python+opencv像素的加减和加权操作的实现
更新时间:2019年07月14日 15:04:58 作者:月下花弄影
这篇文章主要介绍了python+opencv像素的加减和加权操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
本文介绍了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中SocketServer模块处理网络请求的用法
SocketServer模块中带有很多实现服务器所能够用到的socket类和操作方法,下面我们就来以实例讲解Python中SocketServer模块处理网络请求的用法:2016-06-06
如何在conda虚拟环境中配置cuda+cudnn+pytorch深度学习环境
这篇文章主要介绍了如何在conda虚拟环境中配置cuda+cudnn+pytorch深度学习环境,想在服务器上配置深度学习的环境,看了很多资料后总结出来了对于新手比较友好的配置流程,需要的朋友可以参考下2023-03-03
使用相同的Apache实例来运行Django和Media文件
这篇文章主要介绍了使用相同的Apache实例来运行Django和Media文件,Django是最具人气的Python web开发框架,需要的朋友可以参考下2015-07-07
Python 常用模块threading和Thread模块之线程池
这篇文章主要介绍了Python threading和Thread模块之线程池,线程池如消费者,负责接收任务,并将任务分配到一个空闲的线程中去执行。并不关心是哪一个线程执行的这个任务,具体介绍需要的小伙伴可以参考下面文章详细内容2022-06-06


最新评论