主要步骤
1.生成普通python数组(bytearray(),os.urandom())
2.转换成numpy数组(numpy.array())
3.通过reshape将数组转换到所需的维数
4.以图像的形式显示出来(cv.imshow())
代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
import os
import cv2 as cv
import numpy as np
# Make an array of 120000 random bytes
randomByteArray = bytearray(os.urandom( 120000 ))
# translate into numpy array
flatNumpyArray = np.array(randomByteArray)
# Convert the array to make a 400*300 grayscale image(灰度图像)
grayImage = flatNumpyArray.reshape( 300 , 400 )
# show gray image
cv.imshow( 'GrayImage' , grayImage)
# print image's array
print (grayImage)
cv.waitKey()
# byte array translate into RGB image
randomByteArray1 = bytearray(os.urandom( 360000 ))
flatNumpyArray1 = np.array(randomByteArray1)
BGRimage = flatNumpyArray1.reshape( 300 , 400 , 3 )
cv.imshow( 'BGRimage' , BGRimage)
cv.waitKey()
cv.destroyAllWindows()
|
效果
以上这篇python-OpenCV 实现将数组转换成灰度图和彩图就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/li_l_il/article/details/83214114