2017-10-05 214 views
1

我有一个简单的代码来尝试opencv图像混合与addWeighted() 函数。它显示我其中输入参数opencv-python addWeighted()错误 - 输入参数的大小不匹配

大小不匹配错误

以下是我的代码

import cv2 
import numpy as np 

img1 = cv2.imread('/home/jianyepa/Downloads/gtr1.jpg') 
img2 = cv2.imread('/home/jianyepa/Downloads/r1.png') 

dst = cv2.addWeighted(img1,0.7,img2,0.3,0) 

cv2.imshow('dst', dst) 
cv2.waitkey(0) 
cv2.destroyAllWindows 

我有img.shape同时检查图像的大小和渠道,两个图像显示(720,1280,3)。我不知道为什么会出现这个错误。

请协助。谢谢。

+1

尝试将.png文件转换为.jpg文件,然后执行相同操作。 –

+0

@JeruLuke是的,你解决了我的问题。请添加为答案。谢谢。 –

回答

0

可能出现的问题列表:

  1. 无论大小和图像的通道数不匹配
  2. 或两个图像可能是不同的文件类型。

就你而言,这不是第一个。这两个图像都具有相同的尺寸和相同数量的通道。

但问题在于不同的图像文件类型。 .png文件有另一个通道,称为alpha通道,它不存在于.jpg文件中。这会导致你的问题。

+0

根本原因:不同的文件类型。 –

相关问题