Python opencv(二) 像素运算(一)

前提条件

使用工具python3.x
使用库numpy;opencv,

api简介

1.cv.add(s1,s2)
s1,s2为cv.imread函数返回的对象,表示将s1和s2的像素进行相加,函数会返回一个对象。可以通过cv.imshow显示出图片进行直观感受。
2.cv.subtract(s1,s2)
将s1和s2的像素进行相减,函数会返回一个对象
3.cv.multiply(s1,s2)
将s1和s2的像素进行相乘,函数会返回一个对象
4.cv.divide(s1,s2)
将s1和s2的像素进行相除,函数会返回一个对象
5.cv.meanStdDev(s1)
求图片的均值和方差(对比度),s1为cv.imread函数返回的对象,具体看代码

代码实例

import cv2 as cv
import numpy as np

def addDemo(s1, s2): #像素相加
	dst = cv.add(s1, s2)
	cv.imshow('addDemo',dst)

def subtractDemo(s1, s2): #像素相减
	dst = cv.subtract(s1, s2)
	cv.imshow('subtractDemo',dst)

def divideDemo(s1, s2): #像素相对除
	dst = cv.divide(s1, s2)
	cv.imshow('divideDemo',dst)

def multiplyDemo(s1, s2): #像素相乘
	dst = cv.multiply(s1, s2)
	cv.imshow('multiplyDemo',dst)

def others(m1, m2): #其他类型运算
	# M1 = cv.mean(m1) #求均值
	# M2 = cv.mean(m2)
	# print(M1) #输出三个通道的平均像素值
	# print(M2)
	M1, dev1 = cv.meanStdDev(m1) #求均值和方差(对比度)
	M2, dev2 = cv.meanStdDev(m2)
	h, w = m1.shape[:2] #m1为图片数组,shape[:2]表示将图片数组切割为0,1,然后赋给h,w

	print(M1,M2,dev1,dev2)

	#直观感受 均值和方差效果,应用在比如:扫描仪有没有扫出信息
	img = np.zeros([h, w], np.uint8)
	m, dev = cv.meanStdDev(img)
	print(m)
	print(dev)

src1=cv.imread("D:/openCV_image/image/19_1.png")
src2=cv.imread("D:/openCV_image/image/19_2.png")
# cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
print(src1.shape,src2.shape)
cv.imshow("image1",src1)
cv.imshow("image2",src2)

# addDemo(src1, src2) #两张图片像素值相加
# subtractDemo(src1, src2) #两张图片像素值相减
# divideDemo(src1, src2)  #两张图片像素值相除
# multiplyDemo(src1, src2) #两张图片像素值相乘
others(src1, src2)

cv.waitKey(0)
cv.destroyAllWindows()


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值