gpt4 book ai didi

python - 图像的线性组合给我错误

转载 作者:行者123 更新时间:2023-12-02 17:27:55 26 4
gpt4 key购买 nike

让我们考虑以下代码

import  numpy as np

import cv2 as cv

imag1 =cv.imread('logos.jpg')
imag1 =cv.cvtColor(imag1,cv.COLOR_BGR2GRAY)
shape1 =imag1.shape
print(shape1)
imag2 =cv.imread('arduino.jpg')
imag2 =cv.cvtColor(imag2,cv.COLOR_BGR2GRAY)
shape2 =imag2.shape
print(shape2)

imag2 =cv.resize(imag2,(shape1[1],shape1[0]))

cv.imshow('logos',imag1)

cv.imshow('arduino',imag2)
result1 =cv.addWeighted(imag1,0.2,imag2,0.8,0)
cv.imshow('result1',result1)
alpha =0.5
result =alpha *imag1 + (1-alpha)*imag2
cv.imshow('result',result)
cv.waitKey(0)

python- cv.addWeighted的内置函数工作正常,但是当我尝试实现第二个函数时,它给了我以下错误
Traceback (most recent call last):
File "C:/Users/Dato/Downloads/python_environment/weighted.py", line 23, in <module>
cv.imshow('result',result)
cv2.error: OpenCV(4.0.0) c:\projects\opencv-python\opencv\modules\imgproc\src\color.hpp:261: error: (-2:Unspecified error) in function '__cdecl cv::CvtHelper<struct cv::Set<1,-1,-1>,struct cv::Set<3,4,-1>,struct cv::Set<0,2,5>,2>::CvtHelper(const class cv::_InputArray &,const class cv::_OutputArray &,int)'
> Unsupported depth of input image:
> 'VDepth::contains(depth)'
> where
> 'depth' is 6 (CV_64F)

图像的大小是(223,400),(223,403),这就是为什么我应用了大小调整功能以使图像彼此相等,但是我不明白错误的原因是什么?提前致谢

最佳答案

第二种方法产生的值可能是小数。由于强度值是介于0到255之间的整数值,因此您需要四舍五入线性组合的结果值,然后将数据类型设置为uint8。

result = alpha * imag1 + (1 - alpha) * imag2
result = np.around(result).astype(np.uint8)

关于python - 图像的线性组合给我错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58002035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com