图像的异或运算

张开发
2026/4/13 20:41:22 15 分钟阅读

分享文章

图像的异或运算
运行代码import cv2 from matplotlib import pyplot as plt def image_xor(img1, img2): return cv2.bitwise_xor(img1, img2) def imagechange(img1, img2): img1_rgb cv2.cvtColor(img1, cv2.COLOR_BGR2RGB) img2_rgb cv2.cvtColor(img2, cv2.COLOR_BGR2RGB) gray1 cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY) gray2 cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY) _, binary1 cv2.threshold(gray1, 127, 255, cv2.THRESH_BINARY) _, binary2 cv2.threshold(gray2, 127, 255, cv2.THRESH_BINARY) return img1_rgb,img2_rgb,gray1,gray2,binary1,binary2 def display_and_save_images(img1_rgb,img2_rgb,gray1,gray2,binary1, binary2,result_binary, save_path1, save_path2, save_path3, save_path4,save_path5,save_path6,save_path7): plt.figure(figsize(10, 5)) plt.subplot(3,3,1) plt.imshow(img1_rgb) plt.title(img1_rgb) plt.axis(off) plt.subplot(3,3,2) plt.imshow(img2_rgb) plt.title(img2_rgb) plt.axis(off) plt.subplot(3,3,4) plt.imshow(gray1, cmapgray) plt.title(xor_gray1) plt.axis(off) plt.subplot(3,3,5) plt.imshow(gray2, cmapgray) plt.title(gray2xor_gray2) plt.axis(off) plt.subplot(3, 3, 7) plt.imshow(binary1,cmap gray) plt.title(xor_gray1) plt.axis(off) plt.subplot(3, 3, 8) plt.imshow(binary2,cmap gray) plt.title(xor_gray2) plt.axis(off) plt.subplot(3, 3, 9) plt.imshow(result_binary,cmap gray) plt.title(xor_result_binary) plt.axis(off) plt.show() cv2.imwrite(save_path1, img1_rgb) cv2.imwrite(save_path2, img2_rgb) cv2.imwrite(save_path3, gray1) cv2.imwrite(save_path4, gray2) cv2.imwrite(save_path5, binary1) cv2.imwrite(save_path6, binary2) cv2.imwrite(save_path7, result_binary) def main(): # 读取图片 img1 cv2.imread(../../ktcvdataself/mammon.png) img2 cv2.imread(../../ktcvdataself/fountain.png) # 图片相同 img1 cv2.resize(img1, (img2.shape[1], img2.shape[0])) img2 cv2.resize(img2, (img1.shape[1], img1.shape[0])) img1_rgb,img2_rgb,gray1,gray2,binary1,binary2 imagechange(img1, img2) result_binary image_xor(binary1, binary2) save_path1 xor_img1_rgb.jpg save_path2 xor_img2_rgb.jpg save_path3 xor_gray1.jpg save_path4 xor_gray2.jpg save_path5 xor_binary1.jpg save_path6 xor_binary2.jpg save_path7 xor_result_binary.jpg display_and_save_images(img1_rgb,img2_rgb,gray1,gray2,binary1, binary2,result_binary, save_path1, save_path2, save_path3, save_path4,save_path5,save_path6,save_path7) if __name__ __main__: main()运行结果

更多文章