程序问答   发布时间:2022-05-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何为切片的 3D numpy 数组的所有元素添加一个值?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何为切片的 3D numpy 数组的所有元素添加一个值??

开发过程中遇到如何为切片的 3D numpy 数组的所有元素添加一个值?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何为切片的 3D numpy 数组的所有元素添加一个值?的解决方法建议,希望对你解决如何为切片的 3D numpy 数组的所有元素添加一个值?有所启发或帮助;

我的代码:

img = np.asarray(ibuffer).copy()
imgb = cv2.cvtcolor(img,cv2.color_BGR2Lab)
imgb[:,:,0] += bvalue
imgb = cv2.cvtcolor(imgb,cv2.color_LAB2BGR)
photo = Image.fromarray(imgb)
photo = resize(photo)
photo = ImageTk.PhotoImage(photo)
canvas.photo = photo
canvas.create_image(0,anchor="nw",image = photo)

我需要将 'bvalue' 变量的值添加到 imgb(3D numpy 数组)的第一维的所有元素中。当我尝试这样做时,我收到以下错误消息

Tkinter 回调中的异常 回溯(最近一次调用最后一次): 文件“C:\Users\asaru\ApPDAta\Local\Programs\Python\python39\lib\tkinter_init_.py”,第 1884 行,调用 返回 self.func(*args) 文件“e:\My files\Project\Image Editor\Image Editor\test.py”,第134行,亮色

imgb[:,0] += bvalue

numpy.core._exceptions._UFuncOutputCasTingError: 无法将 ufunc 'add' 输出从 dtype('

解决方法

检查 Numpy Dtypes。您的变量 bvalue 是 Unicode String 类型,变量 imgb 是 unsigned int 类型。无法添加。

,

您可以向 numpy.uint8 添加整数。如果您将 bvalue 转换为 int(并假设 bvalue 是可以转换为 int 的东西),那么您的代码应该可以工作。

lab[:,:,0] += int(50.0)

上面的行用于使图像变亮。请注意,由于通道是 uint8,如果超过 255,它将溢出。如果超过该值,它将返回并继续 (255 + 11 = 10)。

大佬总结

以上是大佬教程为你收集整理的如何为切片的 3D numpy 数组的所有元素添加一个值?全部内容,希望文章能够帮你解决如何为切片的 3D numpy 数组的所有元素添加一个值?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:3Dnumpy