【问题标题】:How to convert a concatenated image to the its original one, Python如何将连接的图像转换为其原始图像,Python
【发布时间】:2016-11-11 20:59:41
【问题描述】:

假设im是一个大小为100*100*3的图片。下面的代码给出了对应的拼接图:

im = np.concatenate((
        im[:,:,0].reshape((100*100,)),
        im[:,:,1].resh‌​ape((100*100,)),
        im[:‌​,:,2].reshape((100*1‌​00,))
    ),
    axis=0
) 

现在我们有一个大小为 1*30000 的行数组。

问题是我们如何才能从连接的图像恢复到原始图像?

【问题讨论】:

  • 你是怎么得到这个结果的。你能打印出我的形状吗
  • Stackflow 不允许我上传。图片看起来像一个九小原图,(3​​3)。每一行都在不同的频道中。
  • 打印(im.shape)?
  • 形状为:(3​​0000,)
  • 我想不通。它的维度应该是 2。

标签: python image merge concatenation


【解决方案1】:
im = im.reshape(300,100)
s = np.zeros((100,100,3))
s[:,:,0] = im[:100,:]
s[:,:,1] = im[100:200,:]
s[:,:,2] = im[200:,:]

【讨论】:

  • 添加第一行再试一次
  • 第一是最后一行的数字100应该是200。第二,为什么颜色变了?图像相同,但颜色不同
  • TypeError:图像数据的尺寸无效
  • 原来的格式是unit8,但是我认为转换后的s有另一种格式。如何弄清楚这一点?如果它们具有相同的格式,我认为它可以工作。
  • 我删除了我写的代码是一个错误。该错误可能是导致 BGR 或 RGB 尝试使用某些库转换它们。现在构造到其中的数组是原点,您只需要转换颜色即可。如果我回答了您的问题,请将其标记为答案。
猜你喜欢
  • 2019-08-14
  • 2022-10-21
  • 2014-10-01
  • 2022-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-02
相关资源
最近更新 更多