前提条件
使用工具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()