打印图片的属性和实现另存图片功能以及使用numpy

               上一篇我们已经学了如何读取图片的功能了以及和opencv的环境搭建了,今天接着来学习,哈哈哈,今天刚好五一,也没闲着,继续学习。

             1、 首先我们来实现打印出图片的一些属性功能, 先来看一段代码:

 1 import cv2 as cv
 2 import numpy as np
 3 
 4 
 5 def get_image_info(image):    #定义一个函数来输出图片的属性
 6     print(type(image))       #显示图片类型numpy类型的数组
 7     print(image.shape)      #图像矩阵的shape 属性表示图像的大小,shape会返回tuple元组,第一个元素表示矩阵的行数,第二个元素表示矩阵的列数,第三个元素是3,表示像素由光的三原色组成
 8     print(image.size)       #表示图像的大小(下面显示2587200是等于800*1078*3)
 9     print(image.dtype)      #表示图像类型
10 
11 src=cv.imread("D:hh.JPG")
12 cv.namedWindow('input image',0)
13 cv.imshow('input image',src)
14 get_image_info(src)
15 cv.waitKey(-1)
16 cv.destoryAllWindows()

         说明:上面我们用到了numpy这个库(这是opencv绑定时所依赖的库,它提供了数值计算函数,包括高效的矩阵计算函数,详细了解可以访问,www.numpy.org),上面代码中暂时没到这个numpy功能,不过马上就会用到了,哈哈。最后我们来看一下效果:

           2、接下来我们来实现另存图片功能,(也就是我刚才上面显示出来的照片,我存放的路径是在D盘里面,代码src=cv.imread("D:hh.JPG"有注明),:

   

     现在我要把它存储到E盘下面了,哈哈;

    接下来就是见证奇迹的时候了,话不多说,代码上来:

       

 1 import cv2 as cv
 2 import numpy as np
 3 
 4 
 5 def get_image_info(image):    #定义一个函数来输出图片的属性
 6     print(type(image))       #显示图片类型numpy类型的数组
 7     print(image.shape)      #图像矩阵的shape 属性表示图像的大小,shape会返回tuple元组,第一个元素表示矩阵的行数,第二个元素表示矩阵的列数,第三个元素是3,表示像素由光的三原色组成
 8     print(image.size)       #表示图像的大小(下面显示2587200是等于800*1078*3)
 9     print(image.dtype)      #表示图像类型
10     pixel_data=np.array(image);
11     print(pixel_data)        #图片矩阵
12 
13 
14 
15 src = cv.imread("D:hh.JPG")
16 
17 cv.namedWindow('input image', cv.WINDOW_NORMAL)
18 cv.imshow('input image',src)
19 get_image_info(src)
20 gray=cv.cvtColor(src,cv.COLOR_BGR2GRAY)#获取图片为灰色的
21 cv.imwrite("E:hh.JPG",gray)  #把DD盘下的图片另存为E盘下了,并且还是灰色的
22 cv.waitKey(0)
23 cv.destoryAllWindows()

  来看一下效果:

   

     这就是今天学到的东西了,后期还会持续更新的,哈哈哈。

原文地址:https://www.cnblogs.com/1121518wo/p/10800911.html