cdxd 2022-11-14 16:24 采纳率: 50%
浏览 424

python RGB转LAB报错 color.rgb2lab

我在学习python,在csdn复制了一段图像处理的代码,运行后报错:
发生异常: ValueError
the input array must have size 3 along channel_axis, got (771, 1024, 4)
File "D:\python\photo.py", line 14, in
lab_img = color.rgb2lab(cimage)
请问这是什么问题,我查了一圈都没找到解决方法,感谢。
代码如下:


```python
from skimage.io import imread
from skimage import color
import numpy as np
import matplotlib.pyplot as plt
plt.ion()

# 读取图片
cimage = imread('D:\python\photo.jpg')
fig, ax = plt.subplots(figsize=(20, 20))
ax.imshow(cimage)
ax.axis('off')

# RGB转为LAB
lab_img = color.rgb2lab(cimage)
x, y, z = lab_img.shape

# 显示颜色
to_plot = cimage.reshape(x * y, 3)
colors_map = to_plot.astype(np.float) / 256

# 创建数据
scatter_x = []
scatter_y = []
for xi in range(x):
    for yi in range(y):
        L_val = lab_img[xi, yi][0]
        A_val = lab_img[xi, yi][1]
        B_val = lab_img[xi, yi][2]
        scatter_x.append(A_val)
        scatter_y.append(B_val)

plt.figure(figsize=(20, 20))
plt.xlabel("a* from green to red")
plt.ylabel("b* from blue to yellow")
plt.scatter(scatter_x, scatter_y, c=colors_map)
# 显示
plt.show()


```

  • 写回答

3条回答 默认 最新

  • cdxd 2022-11-14 17:11
    关注

    我已经在问题中把报错贴出来了:
    发生异常: ValueError
    the input array must have size 3 along channel_axis, got (771, 1024, 4)
    File "D:\python\photo.py", line 14, in
    lab_img = color.rgb2lab(cimage)

    评论

报告相同问题?

问题事件

  • 创建了问题 11月14日

悬赏问题

  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计