【问题标题】:How to reshape 2D image into 3D in python如何在python中将2D图像重塑为3D
【发布时间】:2020-07-23 11:32:28
【问题描述】:

我有以下代码:

import numpy as np
import os
import cv2

mask_red = np.load('C:/Users/kjbaili/.spyder-py3/GMM/gmm_color_object_detection- 
master/roipoly_annotate/Neuer Ordner/2.2.npy')

img = cv2.imread('C:/Users/kjbaili/.spyder-py3/GMM/gmm_color_object_detection- 
master/roipoly_annotate/Neuer Ordner/2.2.png')

pixel_red = img[mask_red]

print(pixel_red.shape)

cv2.imshow('red_pixel',pixel_red)

cv2.waitKey(0)

img 的形状为 (900x1200x3) mask_red 是一个 (900x1200) 数组。

pixel_red 是仅包含红色像素的提取 roi,形状为 (51605,3) 我要做的是使用 imshow 将 pixel_red 视为图像,因此需要将其重新调整为(高度、宽度、通道)。

请注意,当我按原样查看 pixel_red 时,我会得到一条无法解释的矩形线,由于 red_pixel 的实际形状,这是有意义的

所以任何人都知道如何正确查看图像

提前致谢

【问题讨论】:

    标签: python numpy opencv image-processing


    【解决方案1】:

    要显示 img 的红色通道,请使用这个(以 BGR 格式加载 imread,这就是为什么 2)

       pixel_red = img[:,:,2] 
    

    【讨论】:

    • 感谢重播。请注意,pixel_red 不是图像,它是一个二进制文件,其中包含正确重建数组所需的形状和 dtype 信息
    猜你喜欢
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 2019-09-12
    • 1970-01-01
    相关资源
    最近更新 更多