-
逻辑运算与或非在图像处理中的概念:
1.与操作(就是AND操作,运用函数bitwise_and(src1, src2, dst, mask)):
(1)、参数简介:
src1:图像矩阵1
src2:图像矩阵2
dst:默认选项
mask:默认选项
(2)、基本操作:即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“与”操作,1&1=1,1&0=0,0&1=0,0&0=0。
2.或操作(就是OR操作,运用函数bitwise_and(src1, src2, dst, mask)):
(1)、参数简介:
src1:图像矩阵1
src2:图像矩阵2
dst:默认选项
mask:默认选项
(2)、基本操作:即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“或”操作,1|1=1,1|0=0,0|1=0,0|0=0。
3.非操作(就是NOT操作,运用函数bitwise_and(src1, src2, dst, mask)):
(1)、参数简介:
src1:图像矩阵1
src2:图像矩阵2
dst:默认选项
mask:默认选项
(2)、基本操作:即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“非”操作,~1=0,~0=1。
4.非操作(就是XOR操作,运用函数bitwise_and(src1, src2, dst, mask)):
(1)、参数简介:
src1:图像矩阵1
src2:图像矩阵2
dst:默认选项
mask:默认选项
(2)、基本操作:即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“异或”操作,1^1=0,1^0=1,0^1=1,0^0=0得到非操作后的图片。
-
逻辑运算与或非在图像处理中的代码演示:
# coding=utf-8
import cv2 as cv
import numpy as np
import time
print("----------python opencv------------")
def get_img_info(image):
# print(image.shape)
height = image.shape[0]
weight = image.shape[1]
channels = image.shape[2]
# print(image.shape[0])
# print(image.shape[1])
# print(image.shape[2])
for row in range(height):
for col in range(weight):
for c in range(channels):
pv = image[row, col, c]
image[row, col, c] = 255 - pv
cv.imshow("image px", image)
# 更高效的完成
def get_image_info(image1, image2):
dst1 = cv.bitwise_or(image1, image2)
dst2 = cv.bitwise_and(image1, image2)
dst3 = cv.bitwise_xor(image1, image2)
dst4 = cv.add(image1, image2)
dst5 = cv.subtract(image1, image2)
dst6 = cv.multiply(image1, image2)
dst7 = cv.divide(image1, image2)
dst8 = cv.bitwise_not(image1)
cv.imshow("xiaofeng", dst1)
if __name__ == '__main__':
src1 = cv.imread("D:/doubanimgs/full/75eb7ea57d32abfefec8af7438a9ea3b751a7656.jpg")
src2 = cv.imread("D:/doubanimgs/full/77a457e305ebe2ad833a985c8b7c6cd590b7ac98.jpg")
cv.namedWindow("image px", cv.WINDOW_AUTOSIZE)
cv.imshow("image px", src1)
cv.imshow("image px1", src2)
start_time = time.time()
# get_img_info(src)
get_image_info(src1, src2)
stop_time = time.time()
print("------->>use time<<------- %f" %(stop_time - start_time))
cv.waitKey(0)
cv.destroyAllWindows()
-
逻辑运算与或非在图像处理中的结果演示:
(1)、与操作:
(2)、或操作:
(3)、非操作:
(4)、异或操作:
(5)、减操作:
(6)、加操作:
(7)、乘操作:
(8)、除操作:
(图片来源于豆瓣摄影,如有涉及隐私,请及时告知,以便于及时删除,谢谢!!!)