gpt4 book ai didi

python - 操作数不能与形状(299,491)(299,491,3)一起广播。如何解决像素乘法?

转载 作者:行者123 更新时间:2023-12-02 16:58:01 25 4
gpt4 key购买 nike

大小为299x491的RGB图像(Img1)转换为其反转的二进制(Imag2)。我想对Img1和Img2进行逐像素乘法。现在,当我执行Img1 @ Img2时,会得到不期望的输出。
再次当我尝试使用np.multiply(Img2,Img1)



import cv2
import matplotlib.pyplot as plt
import numpy as np
img1 = cv2.imread('example1.png')
h = np.size(img1, 0)
w = np.size(img1, 1)
grayImage = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
for i in range(h):
for j in range(w):
grayImage[i, j, ] = 1 if grayImage[i, j, ] >= 127 else 0

grayImage = grayImage -1
cv2.imshow('img', grayImage)
cv2.waitKey(0)
cv2.imshow('img', img1)
cv2.waitKey(0)
img = np.multiply(grayImage,img)
#img = img1 @ grayImage
cv2.imshow('img', img)
cv2.waitKey(0)

值错误:操作数无法与形状一起广播(299,491)(299,491,3)

最佳答案

让我们尝试broadcasting:

Img1 * Img2[...,None]

关于python - 操作数不能与形状(299,491)(299,491,3)一起广播。如何解决像素乘法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64398644/

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