2016-02-29 8 views
1

может кто-нибудь объяснить, как создать двоичный мат со значениями из битовой строки?Как создать мат из бит в opencv для java?

Например, я хочу создать коврик из bitstrings 11110000 и 01010101, поэтому у меня есть объект коврик с 2 строками и 1 Colum.

Для этого я инициализировать мат-объект с Mat mat = new Mat(2,1,CvType.CV_8UC1);

Могу ли я конвертировать эти строки в массив байтов и использовать mat.put(0,0,bytearray) или есть что-то еще, что я должен conside?

Позже я хочу использовать этот подход для создания своего собственного binary descriptor, который может сравнивать другие дескрипторы, извлеченные ÒRB. С norm(descA,descB,NORM_HAMMING)

спасибо и наилучшие пожелания

ответ

0

Вы можете использовать Byte.parseByte() с radix из 2, например byte b = Byte.parseByte(str, 2); сначала преобразовать его в byte, а затем создать массив байтов, а затем преобразовывать его Mat объекта, как показано ниже:

Mat mat = Imgcodecs.imdecode(new MatOfByte(byteArray), Imgcodecs.CV_LOAD_IMAGE_UNCHANGED); 
+0

imdecode не подходит. – sturkmen

+0

Почему я могу объяснить причину, я разработал приложения, которые используют эту строку кода и в настоящее время работает на сервере, я просто копирую и вставляю эту строку кода из моего проекта, поэтому это означает, что все в порядке! –

+1

думаю о значении декодирования. нет данных для декодирования здесь. возможно, вы используете его в своем коде для декодирования данных изображения, например, jpeg – sturkmen

 Смежные вопросы

  • Нет связанных вопросов^_^