2012-06-21 24 views
3

假設我想讀取索引圖像(不是3通道24位圖像) 我希望讀取和修改索引圖像的調色板。在opencv中,我還沒有遇到任何提取圖像調色板的功能! 另外我想知道調色板的數據類型。 我在c編碼使用opencv 任何幫助嗎?訪問索引圖像的調色板C

+0

+1我也是,很想知道那個... – Wazzzy

+0

你可以發佈一個鏈接到一個示例調色板圖像?我做了一個256色調色板PNG來試驗你的問題,但是當我加載它時,數據顯示爲通常的3字節集。 – KobeJohn

+0

http://www.pictureshoster.com/files/6v97n5jzbsqcdft8z9.gif – shiladitya

回答

1

感謝文檔。首先,OpenCV不支持GIF(如Ameya005鏈接)。但是還有其他索引調色板圖像格式。它無法在OpenCV中獲得索引調色板圖像,所以除非我遺漏了某些東西,否則我不認爲您能夠直接在OpenCV中使用索引調色板。這聽起來像你需要一個替代解決方案。爲什麼你需要直接使用索引的調色板?

雖然下面的第二個選項可能會讓你有OpenCV中的索引(調色板將會丟失),如果這就是你所需要的。

這裏是我試過:

裝載有調色板的PNG(被轉換至3通道彩色)

import cv2 

im = cv2.imread("mandril_color.png") 
im.shape # returns (512, 512, 3) so it's been converted to 3-channel color 

加載一個調色板GIF(被轉換爲灰度)

我想這是轉換爲灰度與索引用作強度,但我沒有驗證它。

import cv2 
import Image 
import numpy as np 

im_pil = Image.open("mandril_color.gif") 
im_cv = np.asarray(im_pil) 
im_cv.shape # returns (512, 512) so it's become grayscale 

從頭OpenCV的

創建一個調色板圖像我還沒有找到任何辦法做到這一點。

相關問題