import cv2
import numpy as np
import pandas as pd
def image_blend(frame, img):
"""图像融合"""
# 将彩色图像转化为灰度图像
frame_gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
img_gray =cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
for i in range(918):
for j in range(1368):
dic = {'frame':frame_gray[i,j], 'img':img_gray[i,j]}
info = max(zip(dic.values(),dic.keys()))
if info[1] == "frame":
frame[i,j] = frame[i,j]
if info[1] == "img":
frame[i,j] = img[i,j]
return frame
if __name__ == '__main__':
file_name = "IMG_1304.jpg"
image = cv2.imread(file_name)
img = cv2.resize(image, (1368, 918))
frame = img
for i in range(1304,1423):
file_name = "IMG_" + str(i) +".jpg"
image = cv2.imread(file_name)
img = cv2.resize(image, (1368, 918))
frame = image_blend(frame,img)
print("编号"+str(i)+"处理完成")
cv2.imshow('frame',frame)
cv2.waitKey(500)
key = cv2.waitKey(1) & 0xff
if key == ord('q'):
break
cv2.destroyAllWindows()
循环遍历,取灰度图像的最大值,赋值到原图像
python opencv实现图像融合
最新推荐文章于 2022-06-26 21:06:22 发布