簡體   English   中英

顯示拜耳格式圖像的像素

[英]Display the Pixels of Bayer Format Image

我剛剛開始使用OpenCv-Python。 我想查看拜耳格式的圖像的像素值。 使用OpenCv-Python,我編寫了以下代碼來顯示像素值:

import numpy as np
import cv2
image = cv2.imread("bayer_small.png")
image_data = np.array(image)
print(image_data[50][50])

#Output is printed as " [ 0 0 102]

我的期望是單個像素值:102

為什么會這樣呢? 由於圖像僅采用拜耳格式,因此我希望每個像素只有一個分量。

我知道輸出顯示其他兩個組件為零。 但是我期望數據僅以Bayer格式顯示,例如:第一行為BGBGBGBG。

我的目標是實現一種算法。 因此嘗試逐步進行。

編輯1:是否有任何內置功能可以將普通圖像轉換為拜耳格式?

盡管您的圖片可能包含來自Bayer矩陣的數據,但它仍然頑固地使用RGB格式來包含它。 您可能假設兩個通道的每個像素都包含0。 因此,您應該使用以下公式將矢量化的和沿着第三軸應用於整個圖片:

data = np.sum(image_data, axis=2)

為了使其規范化。

順便說一下,您可以使用更簡潔的語法訪問Numpy數組中的data[50, 50]data[50, 50]而不是data[50][50]

暫無
暫無

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

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