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

本文介绍使用Python和OpenCV库进行图像逻辑运算(如与、或、非运算)的方法,并演示如何通过cv.bitwise_and, cv.bitwise_or, cv.bitwise_not函数实现像素级操作。此外,还提供了调节图片对比度和亮度的代码实例,利用cv.addWeighted函数增强图像视觉效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提条件

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

api简介

1.cv.bitwise_and(s1,s2)
s1,s2为cv.imread函数返回的对象,表示将s1和s2的像素进行逻辑与运算,函数会返回一个对象。可以通过cv.imshow显示出图片进行直观感受。
2.cv.bitwise_or(s1,s2)
s1,s2的像素进行逻辑或运算
3.cv.bitwise_not(s1,s2)
s1,s2的像素进行逻辑非运算(也就是对像素取反)
4.cv.addWeighted
调节图片的对比度和亮度

代码实例

import cv2 as cv
import numpy as np

#逻辑运算
def logicDemo(m1, m2):
	# dst = cv.bitwise_and(m1, m2) #逻辑与运算 像素二进制,0和1运算
	# dst = cv.bitwise_or(m1, m2) #逻辑或运算
	# img=cv.imread("D:/openCV_image/image/19_1.png")
	# dst = cv.bitwise_not(img) #逻辑非运算, 像素取反的意思
	cv.imshow('bitwise_and_demo',dst)

def constrastBrightnessDemo(image, c, b): #对比度增强
	h, w, ch = image.shape
	blank = np.zeros([h, w, ch],image.dtype)
	dst = cv.addWeighted(image, c, blank, 1-c, b)
	cv.imshow("demo", dst)

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) #shape一样,就是图片大小一样
# cv.imshow("image1",src1)
# cv.imshow("image2",src2)
# logicDemo(src1, src2)
image = cv.imread("D:/openCV_image/image/5.png")
cv.imshow("image2",image)
constrastBrightnessDemo(image, 1.5, 10) #(图片,对比度,亮度)

cv.waitKey(0)
cv.destroyAllWindows()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值