2015-05-09 1 views
1

Я использую OpenCV для изменения изображения в python и java. Код очень простой, но я не получаю тот же результат, почему ?:Различные изображения с использованием OpenCV в python и java

Python:

img = cv2.imread('sudoku.jpg') 
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 

thresh = cv2.adaptiveThreshold(gray,255,1,1,5,2) 
printImg(thresh) 

enter image description here

Java:

BitmapFactory.Options op = new BitmapFactory.Options(); 
     op.inPreferredConfig = Bitmap.Config.ARGB_8888; 
Bitmap bm = BitmapFactory.decodeResource(mContext.getResources(), 
       R.drawable.sudoku1, op); 
Utils.bitmapToMat(bm, img); 
Imgproc.cvtColor(img, gray, Imgproc.COLOR_BGR2GRAY); 
Imgproc.adaptiveThreshold(gray, thresh, 255, 1, 1, 5, 2); 

enter image description here

+0

попробуйте wthth png или лучше, файл bmp (сжатие с потерями jpg) – berak

ответ

1

Итак, я проверил некоторые конфигурации и попробовал некоторые обходные пути. Проблема связана с загрузкой изображения. Конвертировать изображение с bitmap в mat, похоже, влияет на качество изображения, как сказал @berak. Я получил Highgui.imread, чтобы получить изображение.

Если кто-то знает, как это сделать более дружелюбно, я бы хотел его услышать.

Cheers.