2012-07-02 2 views
2

Я использую образец кода для чтения/записи файла jpg, но потеря цвета.opencv imread/imwrite loss

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) 'to' 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)