如何将 cv2.read() 的结果 return 输出到文件中
How do I output the result return from cv2.read() into a file
我首先使用 im = cv2.read(image) 读取图像,它应该是 return 一个 np 数组。所以我做了 im.dump('output.txt'),其中输出文件给了我一堆垃圾
如何可视化从输入图像中读取的数组?
我可以在这里使用任何 TensorFlow 方法吗?
img = cv2.imread( image_file )
是读取图像的正确方法。然后您可以 plt.imshow()
查看图像,或使用 csv 将数值输出到文件。
代码(在 Jupyter Notebook 中测试):
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]]]
并使用如下像素值创建文件 "image_array.csv":
192,170,164
191,169,164
191,168,166
184,161,159
180,156,156
183,160,158
190,167,165
189,167,162
174,150,144
etc.
我首先使用 im = cv2.read(image) 读取图像,它应该是 return 一个 np 数组。所以我做了 im.dump('output.txt'),其中输出文件给了我一堆垃圾
如何可视化从输入图像中读取的数组? 我可以在这里使用任何 TensorFlow 方法吗?
img = cv2.imread( image_file )
是读取图像的正确方法。然后您可以 plt.imshow()
查看图像,或使用 csv 将数值输出到文件。
代码(在 Jupyter Notebook 中测试):
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]]]
并使用如下像素值创建文件 "image_array.csv":
192,170,164
191,169,164
191,168,166
184,161,159
180,156,156
183,160,158
190,167,165
189,167,162
174,150,144
etc.