python3 OpenCv 图像和原始字节之间的转换 您所在的位置:网站首页 如何修改图片字节 python3 OpenCv 图像和原始字节之间的转换

python3 OpenCv 图像和原始字节之间的转换

2024-07-02 06:16| 来源: 网络整理| 查看: 265

1.概念

(1).一个字节能表示0-255的整数,一个像素通常由每个通道的一个字节表示.

(2).一个OpenCV图像时.array类型的二位或者三维数组.8位的灰度图像是一个含有字节值的二维数组.一个24位的BGR图像是一个三维数组,它也包含了字节值.

2.代码      其他的信息都在注释里

import cv2 as cv import numpy import os img=cv.imread('timg.jpg') #生成一个120,000字节的随机字节 #一个像素是一个字节,8位 randomByteArray=bytearray(os.urandom(120000)) #print(randomByteArray) #转换成numpy数组 flatNumpyArray=numpy.array(randomByteArray) # print(flatNumpyArray) #转换成400*300像素 数组 300行*400列 所以图片长点 img=flatNumpyArray.reshape(300,400) print(img.shape) #写出文件 cv.imwrite('randomGray.jpg',img) #转换成100*400的有色图片 数组 400行*100列 3个通道 所以图片宽点 img=flatNumpyArray.reshape(400,100,3) #写出文件 cv.imwrite('randomColor.jpg',img)

 3.注意

使用以下代码能更高效的生成随机numpy数组  上文使用的os.urandom()函数有助于展示原始字节的转换

numpy.random.randint(0,256,120000).reshape(300,400)

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有