2012-07-02 87 views
2

我使用示例代碼讀取/寫入jpg文件,但丟失顏色。opencv imread/imwrite損失顏色

import sys 
fn1,fn2 = sys.argv[1:3] 
import numpy as np, cv2 

img1 = cv2.imread(fn1, 0) 
vis = cv2.cvtColor(img1, cv2.COLOR_GRAY2BGR) 
cv2.imwrite(fn2, vis) 

你能幫我找到程序嗎?

+0

我認爲,這個腳本產生一個錯誤,如果youu想打開一個JPG文件,然後把它的灰色轉換成另一個文件使用'cv2.COLOR_BGR2GRAY'而不是不存在的'cv2.COLOR_GRAY2BGR' – hamed

+0

使用'cv.BGR2GRAY'而不是不存在'cv2.COLOR_GRAY2BGR',並且改變'cv2.imread(fn1, 0)'到'cv2.imread(fn1)' – hamed

回答

0

使用這個代碼,而不是找到差異

import sys 
fn1,fn2 = sys.argv[1:3] 
import numpy as np, cv2, cv 

img1 = cv2.imread(fn1) 
vis = cv2.cvtColor(img1, cv.CV_BGR2GRAY) 
cv2.imwrite(fn2, vis) 
0

默認情況下打開的圖像文件格式BGR。但您正嘗試將其從Gray轉換爲BGR


// this conversion is incorrect 
vis = cv2.cvtColor(img1, cv2.COLOR_GRAY2BGR) 
cv2.imwrite(fn2, vis) 

如果您不想進行任何轉換,請刪除此行cv2.cvtColor(...)。試試吧。

IMG1 = cv2.imread(FN1,0)
cv2.imwrite(FN2,IMG1)