簡體   English   中英

用 cv2.imwrite 保存 BGR 圖像

[英]Save BGR image with cv2.imwrite

我有一個 2D numpy 數組,它的值在 [-4, 3] 之間浮動。 cv2.imshow將此數組顯示為 BGR 圖像,但是當我使用cv2.imwrite保存它時,它完全是黑色的。 然后我發現我必須將數組乘以 255 才能用imwrite保存它,但在這種情況下,圖像以 RGB 格式保存,但我想保存由cv2.imshow顯示的 BGR 圖像。 我應該怎么辦?

所以,基本上你想將你的圖像從 RGB 轉換為 BGR 圖像。

這可以通過使用 cv2.cvtColor() function 來完成。

result_BGR = cv2.cvtColor(RGB_image, cv2.COLOR_RGB2BGR)
cv2.imwrite('PATH', result_BGR)

首先,您必須調整所有 arrays 的值。 像素介於 -4 和 3 之間,因此您必須這樣做:

img = img - min_val
img = img*255.0/(max_val - min_val)

在你的情況下,它會是這樣的:

img = img+4
img = img*255/7.0

然后將您的 img 轉換為 8bit unsinged int 並使用imwrite保存(無需弄亂 BGR 或 RGB,opencv 自行處理)

暫無
暫無

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

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