Как вывести результат возврата из cv2.read () в файл - PullRequest
0 голосов
/ 26 апреля 2018

Сначала я прочитал изображение, используя im = cv2.read (image), и оно должно вернуть массив np. Поэтому я сделал im.dump ('output.txt'), в котором выходной файл дал мне кучу мусора

Как визуализировать чтение массива из входного изображения? Любой метод TensorFlow, который я могу использовать здесь?

1 Ответ

0 голосов
/ 27 апреля 2018

img = cv2.imread( image_file ) - правильный способ прочитать изображение. Затем вы можете plt.imshow() просмотреть изображение или использовать csv для вывода числовых значений в файл.

Код (проверено в ноутбуке Jupyter):

import numpy as np
import cv2
import csv
import matplotlib.pyplot as plt
%matplotlib inline

img = cv2.imread( "./angelina jolie happy.jpg" )
print( img )
with open( "image_array.csv", 'wb') as f:
    w = csv.writer( f )
    for x in xrange( img.shape[ 0 ] ):
        for y in xrange( img.shape[ 1 ] ):
            w.writerow( img[ x ][ y ])

plt.imshow( cv2.cvtColor( img, cv2.COLOR_BGR2RGB ) )

Выходы:

[[[192 170 164]
[191 169 164]
[191 168 166]
...
[109 152 201]
[59 125 196]
[66 117 167]]]

enter image description here

и создает файл «image_array.csv» со значениями пикселей, такими как:

192170164
191169164
191168166
184161159
180156156
183160158
190167165
189167162
174150144
и т.д.

...