簡體   English   中英

Numpy 2D 圖像到 3D

[英]Numpy 2D image to 3D

我有一個灰度圖像,表示為 2D numpy 數組,並希望將其設為 3D numpy 數組,表示彩色 rgb 圖像(顯然仍然是灰色的)。

 img.shape // (100, 100) img[10, 10] // eg 42 // do something img.shape // (100, 100, 3) img[10, 10] // eg [42, 42, 42]

我發現這個問題相反: numpy 3D-image array to 2D

您可以使用 Numpy 的dstack()深度堆疊三個灰色圖像:

RGB = np.dstack((grey, grey, grey))

您可以為此使用 opencv function : image_color = cv2.cvtColor(image_gray, colorcode)

請參閱文檔https://docs.opencv.org/3.4/d8/d01/group__imgproc__color__conversions.ZFC35FDC70D5FC69D269883A822C7A中可用的顏色代碼

適合您的可能是cv2.COLOR_GRAY2RGB

import cv2
image_color = cv2.cvtColor(image_gray, cv2.COLOR_GRAY2RGB)

這會給你灰度圖像作為 3 通道 rgb 數組。

使用 numpy 您可以查看https://stackoverflow.com/a/40119878/14997346

以下代碼有幫助嗎?

import numpy as np
aa = np.zeros((4,4),dtype='int64')
aa[1,1] = 42
aa = aa.reshape((4,4,1))
bb = np.broadcast_to(aa,(4,4,3))
print(bb[1,1,:])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM