powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python. scipy.misc.imread
6 сообщений из 6, страница 1 из 1
Python. scipy.misc.imread
    #39881870
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Есть код, который из изображения вытаскивает двумерный массив
Код: python
1.
2.
import scipy.misc
img_array1 = scipy.misc.imread("Скан1.png", flatten = True)


Работает, но выдает сообщение:
C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\lib\site-packages\ipykernel_launcher.py:9: DeprecationWarning: `imread` is deprecated!
`imread` is deprecated in SciPy 1.0.0, and will be removed in 1.2.0.
Use ``imageio.imread`` instead.
if __name__ == '__main__':


Если написать так с использованием imageio.imread
Код: python
1.
2.
import imageio
img_array2 = imageio.imread(image_file_name,  format = None)

то возвращает тип imageio.core.util.Image , внутри трехмерный массив.

Далее
Код: python
1.
2.
import numpy
numpy.array(img_array2)

Возвращает numpy.ndarray , то есть трехмерный массив. Третье измерение массива это получается как RGB.

Скажите,
1. Можно ли игнорировать то сообщение?
2. Как из img_array2 перевести с оттенками серого как возвращает scipy.misc.imread("Скан1.png", flatten = True )?
...
Рейтинг: 0 / 0
Python. scipy.misc.imread
    #39882834
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возьмем пример. Есть такой скан
...
Рейтинг: 0 / 0
Python. scipy.misc.imread
    #39882835
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Python. scipy.misc.imread
    #39882836
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если так написать
Вариант 1. С использованием scipy.misc.imread
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
import scipy.misc
import matplotlib.pyplot
%matplotlib inline

image_file_name = "Сканы/1/1_3.png"
#flatten переводит цветовые коды в шкалу оттенков серого
img_array = scipy.misc.imread(image_file_name, flatten = True)

#img_array = 255.0 - img_array.reshape(784)
#img_array = (img_array / 255.0 * 0.99) + 0.01
#img_array = img_array.reshape(28,28)

#Код 0 соответствует черный цвет, а коду 255 - белый, но в наборе данных MNIST используется обратная схема.
img_array = 255.0 - img_array
#Прибавляем значения на 0,01, чтобы вместить их в нужный диапазон 0,01 - 1,0.
img_array = (img_array / 255.0 * 0.99) + 0.01

matplotlib.pyplot.imshow(img_array, cmap = 'Greys', interpolation = 'None')

То выдает такой результат
...
Рейтинг: 0 / 0
Python. scipy.misc.imread
    #39882839
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если так
Вариант 2. Если написать с использованием matplotlib.image.imread
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
from matplotlib.image import imread
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np

image_file_name = "Сканы/1/1_3.png"
image  = imread(image_file_name)  

def rgb2gray(rgb):   
    return  np.mean(rgb, -1)    
    #return np.dot(rgb[...,:3], [0.2989, 0.5870, 0.1140])

gray = rgb2gray(image)    
plt.imshow(gray, cmap=plt.get_cmap('gray'), vmin=0, vmax=1)
plt.show()

то такой результат
...
Рейтинг: 0 / 0
Python. scipy.misc.imread
    #39882840
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обратите внимание, что в варианте 1 - более черный шрифт. В варианте 2 - более серый, чем черный.

Скажите, как во втором варианте написать так, чтобы в результате изображение отображалось как в первом варианте?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python. scipy.misc.imread
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]