使用矩阵存图,读图

Posted huiandong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用矩阵存图,读图相关的知识,希望对你有一定的参考价值。

#把30张图片存成矩阵
import numpy as np,os
import PIL.Image as pim#处理图片的工具库
import pickle as pic#矩阵的序列化和反序列化
class imagew:
    def imageToArray(self,dir):
        image_list=[];
        sdir=os.listdir(dir)

        for i in sdir:
            path=os.path.join(dir,i)
            im=pim.open(path,"r")
            r,g,b=im.split()#得到一张图片的rgb值
            rgb1=np.array(r).reshape((921600,))
            rgb2=np.array(g).reshape((921600,))
            rgb3=np.array(b).reshape((921600,))
            timage=np.hstack((rgb1,rgb2,rgb3))#一张图片

            fiimalist=np.concatenate((image_list,timage))
        allimage=fiimalist.reshape(len(sdir),2764800)

        with open("image.bat",mode="wb") as f:
            pic.dump(fiimalist,f)
        os.close(1)


    @staticmethod
    def readImage(file):
        f=open(file,"rb")
        allimage=pic.load(f)
        # image_count=allimage.shape[0]#图片个数
        all_array=np.reshape(allimage,(3,1280,720))
        for i in range(0,0):

            r=pim.fromarray(all_array[i][0],mode="RGB")
            g=pim.fromarray(all_array[i][0],mode="RGB")
            b=pim.fromarray(all_array[i][0],mode="RGB")
            imares=pim.merge("RGB",[r,g,b])
            imares.show()
            pim.save("result%s.jpg","jpeg")
class test:
    if __name__ == ‘__main__‘:
        i = imagew()
        i.imageToArray("image")
        i.readImage("image.bat")

  

以上是关于使用矩阵存图,读图的主要内容,如果未能解决你的问题,请参考以下文章

存图的方式

图的存储:链式前向星(边集数组)

牛客-公交路线——最短路问题(注意存图时候的坑点)

Python代码阅读(第41篇):矩阵转置

如何将浮点矩阵作为 2D 纹理传递给片段着色器?

Safe Path(bfs+一维数组存图)