Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/120: Рейтинг темы: голосов - 120, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 10.03.2018
Сообщений: 20
1

Перевод изображения в массив и обратно

07.10.2018, 18:35. Показов 24355. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, уважаемые форумчане! Немного предыстории, недавно я написал нейросеть которая должна распознавать лица, но она не обучалась, поэтому решил проверить правильность своего датасета(датасет самодельный), переведя изображение в numpy массив(здесь я записал в массив только R канал), а потом перевел этот массив в изображение(Watch_r.jpg).
(Чтобы каждый раз не тратить время на перевод изображений, я один раз перевел все изображения в три numpy массива, соответствующим трем каналам RGB, записал эти массивы в txt файлы, а потом загружал эти массивы из txt файлов в нейросети и работал с ними. Переводил изображения в три массива также как в коде ниже)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from PIL import Image
import numpy as np
np.set_printoptions(threshold = np.nan)
 
icontr = np.array(Image.open(r"D:\photo\image9.bmp").getdata()).reshape(96, 80, 3)
image = np.zeros((96,80))
 
for i in range(96):
    for j in range(80):
        for k in range(3):
            if k == 0:
                image[i][j] = icontr[i][j][k]
 
 
im_1 = Image.fromarray(image, 'L')
im_1.save("Watch_r.jpg")
Ожидая увидеть черно-белое изображение с R канала, на котором будут изображены часы, но вместо этого получилось это изображение(Watch_r.jpg). Я пытался это сделать с разными форматами изображений, пытался загрузить уже готовые массивы, но всегда получилась то же самое. Вопрос: это я коряво перевел массив в изображение и поэтому вижу чушь, или изображение в массив?
PS так как нельзя прикрепить bmp файл, я прикреплю jpeg файл этого же изображения.
Изображения
  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2018, 18:35
Ответы с готовыми решениями:

Перевод изображения в массив чисел
Господа, не сталкивался ранее с графикой в Матлаб(да и вовсе с графикой), поэтому пока не могу...

Перевод изображения в массив чисел
Всем доброго времени суток. Есть черно-белое изображение, подскажите, пожалуйста, как загрузить его...

Перевод изображения из hwnd в массив
Сделал (но криво) небольшой захват изображения с камеры: hWndC = capCreateCaptureWindow(...

Перевод изображения из AVFrame в массив RGBQUAD
Здравствуйте! Пишу программу для вывода видео на FFMpeg и столкнулся с следующей проблемой. При...

4
1292 / 909 / 479
Регистрация: 05.12.2013
Сообщений: 3,074
07.10.2018, 20:13 2
Лучший ответ Сообщение было отмечено Wine как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from PIL import Image
import numpy as np
np.set_printoptions(threshold = np.nan)
 
icontr = np.array(Image.open(r"image9.bmp").getdata()).reshape(96, 80, 3)
image = np.zeros((96,80))
 
for i in range(96):
    for j in range(80):
        for k in range(3):
            if k == 0:
                image[i][j] = icontr[i][j][k]
 
 
im_1 = Image.fromarray(image.astype('uint8'), 'L')
im_1.show()
1
0 / 0 / 0
Регистрация: 10.03.2018
Сообщений: 20
07.10.2018, 20:42  [ТС] 3
Спасибо, получается ошибка в самой нейросети?
0
1292 / 909 / 479
Регистрация: 05.12.2013
Сообщений: 3,074
07.10.2018, 22:26 4
Проверять надо, для начала добавить image.astype('uint8') перед сохранением в файл txt
0
0 / 0 / 0
Регистрация: 10.03.2018
Сообщений: 20
08.10.2018, 10:24  [ТС] 5
Хорошо, спасибо
0
08.10.2018, 10:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2018, 10:24
Помогаю со студенческими работами здесь

Перевод изображения в picturebox в двумерный числовой массив
Добрый день! Передо мной стоит следующая проблема: есть изображение, загруженное в элемент...

Перевод бинарного изображения в массив из нулей и единиц
Доброго времени суток. Чтоб в ручную не составлять массив перенося пиксели из бинарного...

Перевод черно-белого изображения picturebox в двумерный массив
Добрый день! У меня возникли сложности при решение данной проблемы - имеется черно-белое...

Перевод из C в C++ и обратно
#include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <conio.h> #include...

Перевод из 16 в 2 сс и обратно
Помогите новичку. Нужна программа переводящая из 16 в 2 сс и обратно. Почитал, но до конца не...

Перевод из 10 СС в 2 и обратно
В общем такая задача: Целое положительное число I записывается в двоичной системе счисления, и в...

Перевод из 8 в 16 и обратно.
Написать программу используя функции WINAPI, кот при запуске создает окно, кот используется для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru