2014-10-12 2 views
0

У меня есть объект mat, в котором есть информация об изображении, используемая библиотекой openCV для обработки изображений. Объект mat в основном представляет собой матрицу. Мне нужно масштабировать этот объект до размера линейного макета, который должен отображаться после преобразования его в битмап.Масштабирование изображения до размера линейного макета

Этапы были бы следующими: - 1. Получите высоту и ширину линейного макета. 2. Масштабируйте объект мата по ширине и высоте. 3. Преобразовать объект в растровый 4. вывести изображение на линейное расположение

Я делаю все это в методе OnStart, где расположение и высоты 0. Я терплю неудачу на первом этапе.

Как получить ширину и высоту. Также я могу получить координаты линейного макета в методе onstart().

Просьба помочь

Сумасшедшая идея будет отображать фиктивный изображение первого, получить ширину макета и высоту, а затем отобразить реальное изображение .... я новичок ...

+0

scaletype fitxy для просмотра изображений .. сделал и попробовал. – Dhina

+0

У меня нет изображения. У меня есть объект, объект Mat точно. Мне нужно масштабировать объект по ширине и высоте макета. – user2768984

+0

Объекты Mat используются в openCV. Для обработки изображений – user2768984

ответ

0

Скорее сделать это по-другому, как показано на рисунке ниже -

я> Преобразование Mat изображения в BitMap. Вот код для этого -

Mat mat; 
// Intialize mat 
Bitmap bitMap = Bitmap.createBitmap(mat.cols(), mat.rows(),Bitmap.Config.ARGB_8888); 
Utils.matToBitmap(mat, bitMap); 

II> В файле макета, использовать в LineatLayout в ImageView и установить layout_width и fill_height к match_parent. Это будет использовать всю линейную компоновку. Вот код для этого -

<ImageView 
    android:id="@+id/image_view" 
    android:contentDescription="@string/description" 
    android:layout_width= "match_parent" 
    android:layout_height="match_parent" /> 

Не забудьте добавить в descriptionstrings.xml.

III> Поместите Bitmap изображение в LinearLayout, как показано на рисунке ниже -

ImageView imageView = (ImageView) findViewById(R.id.image_view); 
     imageView.setImageBitmap(bitMap); 

Используя этот код, вы сможете отображать Mat изображение в LinearLayout.

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