Opencv kmeans выдает только черно-белое изображениеAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Opencv kmeans выдает только черно-белое изображение

Сообщение Anonymous »

Алгоритм Kmeans дает только черно-белые результаты
Вот мой код
Я не смог найти решения этой проблемы

Код: Выделить всё

                bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), data.getData());
ny = new Mat();
Utils.bitmapToMat(bitmap, ny);

Mat bgrImage = new Mat();
Imgproc.cvtColor(ny, bgrImage, Imgproc.COLOR_RGB2BGR);
bgrImage.convertTo(bgrImage, CvType.CV_32F, 1.0 / 255.0);

Mat reshapedImage = bgrImage.reshape(3,bgrImage.rows()*bgrImage.cols() );

Mat labels = new Mat();
Mat centers = new Mat();
ArrayList labelsList = new ArrayList();

int K = 32; // Number of clusters (colors)
TermCriteria criteria = new TermCriteria(TermCriteria.EPS + TermCriteria.MAX_ITER, 400, 2.0);

Core.kmeans(reshapedImage, K, labels, criteria, 1, Core.KMEANS_PP_CENTERS,centers);

for (int i = 0; i < labels.rows(); i++) {
for (int j = 0; j < labels.cols(); j++) {
labelsList.add((int) labels.get(i, j)[0]);
}
}
int n = labels.cols() * labels.rows();

for (int i = 0; i < n; ++i) {
double[] color = centers.get(labelsList.get(i), 0);
labels.put(i, 0, color);
}

labels.convertTo(labels, CvType.CV_8U);

Core.normalize(labels, labels, 0, 255, Core.NORM_MINMAX, CvType.CV_8UC3);

Imgproc.cvtColor(labels,labels,Imgproc.COLOR_GRAY2RGB);

labels = labels.reshape(3,bgrImage.rows());

Mat blured = new Mat();
int kernelsz = 5;
Imgproc.medianBlur(labels, blured, kernelsz);

Bitmap resultBitmap = Bitmap.createBitmap(blured.cols(), blured.rows(), Bitmap.Config.ARGB_8888);
Utils.matToBitmap(blured, resultBitmap);
mainview.setImageBitmap(resultBitmap);

исходное изображение
конечный результат
Я пытался применить квантование цвета с помощью opencv в студии Android но мои выходные изображения получаются только черно-белыми

Подробнее здесь: https://stackoverflow.com/questions/781 ... hite-image
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Opencv kmeans выдает только черно-белое изображение
    Anonymous » » в форуме JAVA
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Как изменить цветное изображение на черно-белое в компоновке реактивного ранца
    Anonymous » » в форуме Android
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как создать объект, используя черно-белое изображение в определенном порядке
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как создать объект, используя черно-белое изображение в определенном порядке
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Каков самый быстрый способ преобразовать изображение в чисто черно-белое на C#?
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»