Python&OpenCV - 随机生成图像 与 图像的转维(reshape)
随机生成图像 与 图像的转维(reshape)
转自: http://blog.****.net/caroline_wendy/article/details/17062379
OpenCV可以支持Python版本;
通过Python的标准库, os.urandom(), 随机生成uchar数, 然后传递给OpenCV的矩阵;
通过reshape()函数, 把1维变成2维(灰度图像), 把1维变成3维(彩色图像);
注意: "-*- coding: utf-8 -*-"可以UTF-8编码, 可以使用中文注释; 输出灰度和彩色;
代码如下:
- # -*- coding: utf-8 -*-
- #=================
- #File: PyOpenCV.py
- #Author: Wendy
- #=================
- import cv2
- import numpy
- import os
- #随机生成120000=300*400=100*400*3
- randomByteArray = bytearray(os.urandom(120000))
- #把数组赋值给OpenCV类型矩阵
- flatNumpyArray = numpy.array(randomByteArray)
- #矩阵变维, 1维变维2维(灰度), 1维变为3维(彩色)
- grayImage = flatNumpyArray.reshape(300, 400)
- bgrImage = flatNumpyArray.reshape(100, 400, 3)
- #显示
- cv2.imshow("GRAY", grayImage)
- cv2.imshow("BGR", bgrImage)
- cv2.waitKey(0)
输出: