我有一個帶有灰度影像的 np.array,我想應用一個顏色圖,然后將結果保存到一個視頻檔案中。
使用此代碼(或使用注釋行),無論如何我都會獲得灰度視頻。知道為什么我不能有顏色圖視頻嗎?
color_images = np.empty([N, resolution[1], resolution[0], 3])
for i in range(0, N):
cv2.imwrite(gray_images[i])
color_images[i] = cv2.cvtColor(np.float32(gray_images[i]), cv2.COLOR_GRAY2BGR)
#color_images[i] = cv2.merge([gray_images[i], gray_images[i], gray_images[i]])
out = cv2.VideoWriter("video.mp4", cv2.VideoWriter_fourcc(*'mp4v'),
fps, (resolution[0], resolution[1]), 1)
for i in range(0, N):
out.write(np.uint8(color_images[i]))
out.release()
更新:我想要一個彩色影像,以便像素強度的差異更加明顯。(例如使用 plt.imshow ('viridis') 中的默認 cmap)。
uj5u.com熱心網友回復:
cvtColor不這樣做。對于任何灰度像素,它都會為您提供看起來灰度相同的 RGB/BGR 像素。
如果你想要顏色圖,你需要applyColorMap.
import numpy as np
import cv2 as cv
gray_image = ... # get it from somewhere
colormapped_image = cv.applyColorMap(gray_image, cv.COLORMAP_JET)

在這里了解更多
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/370727.html
