繁体   English   中英

尝试使用numpy从灰度图像创建RGB图像失败

[英]Trying to create an rgb image out of a grayscale image using numpy fails

我一直在努力弄清楚最近一小时的情况。 下面的代码显示了我所面临的问题。 如果从灰度初始图像设置img (第3行),尝试在其上绘制红线时会出错。 如果我跳过绘制线条,则在尝试将其叠加到第6行时会遇到另一个错误。发生了什么事?

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
import cv2

initial_img = mpimg.imread('minnie.jpg')
grayscale_img = cv2.cvtColor(initial_img, cv2.COLOR_RGB2GRAY)
img = np.zeros((*grayscale_img.shape, 3), dtype=np.uint8)           # 3
cv2.line(img, (0, 0), (100, 100), [255, 0, 0], 3)
weighted_img = cv2.addWeighted(img, initial_img, α=0.8, β=1., γ=0.) # 6
plt.imshow(grayscale_img)

我得到的错误:

文件“ test.py”,第12行,在weighted_img = cv2.addWeighted(img,initial_img,α= 0.8,β= 1。,γ= 0。)#6 TypeError:仅大小为1的数组可以转换为Python标量

我希望在初始图像上方叠加一条红线,同时我需要从其灰度转换中生成img

根据docs ,您有错误的参数顺序。 尝试将“ 6”行更改为:

weighted_img = cv2.addWeighted(img, alpha=0.8, src2=initial_img, beta=1., gamma=0.)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM