打印图片的属性和实现另存图片功能以及使用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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277805.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu 18.04下命令安装VMware Tools

2019独角兽企业重金招聘Python工程师标准>>> sudo apt-get upgrade sudo apt-get install open-vm-tools-desktop -y sudo reboot 转载于:https://my.oschina.net/u/574036/blog/1829455

Qfile

打开方式: 1 void AddStudents::write_to_file(QString src){2 QFile file("stu.txt");3 if (!file.open(QIODevice::Append | QIODevice::Text)){4 QMessageBox::critical(this,"打开文件错误","确认");5 r…

IDEA svn 菜单不见了,解决方法

2019独角兽企业重金招聘Python工程师标准>>> 参考地址: http://www.cnblogs.com/signheart/p/193448a98f92bd0cc064dbd772dd9f48.html,我是第二种方法解决的! 转载于:https://my.oschina.net/liuchangng/blog/1829679

苏宁易购:Hadoop失宠前提是出现更强替代品

在笔者持续调研国内Hadoop生态系统生存现状的同时,KDnuggets发布的2018年数据科学和机器学习工具调查报告再次将“Hadoop失宠”言论复活。报告一出,“Hadoop被抛弃”几个字瞬时成为各大标题党的最爱,充斥在不同的新闻平台。这些报告和数据是否…

VS2017生成一个简单的DLL文件 和 LIB文件——C语言

下面我们将用两种不同的姿势来用VS2017生成dll文件(动态库文件)和lib文件(静态库文件),这里以C语言为例,用最简单的例子,来让读者了解如何生成dll文件(动态库文件) 生成动…

Hive数据类型及文本文件数据编码

本文参考Apache官网,更多内容请参考:https://cwiki.apache.org/confluence/display/Hive/LanguageManualTypes 1. 数值型 类型支持范围TINYINT1-byte signed integer, from -128 to 127SMALLINT2-byte signed integer, from -32,768 to 32,767INT/INTEGE…

Python绘图Turtle库详解

转载:https://blog.csdn.net/zengxiantao1994/article/details/76588580 Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令…

mac使用brew update无反应解决办法

为什么80%的码农都做不了架构师?>>> mac系统中使用brew作为包管理工具,类似centos中的yum,ubuntu中的apt-get,在使用brew update的使用,有时候会长时间无反应,或者中途断开连接,这是…

2018-2019-2 20175223 实验三《敏捷开发与XP实践》实验报告

目录 北京电子科技学院(BESTI)实验报告实验名称:实验三 敏捷开发与XP实践实验内容、步骤与体会:一、实验三 敏捷开发与XP实践-1二、实验三 敏捷开发与XP实践-2三、实验三 敏捷开发与XP实践-3四、实验三 敏捷开发与XP实践-4五、代码…

(八)路径(面包屑导航)分页标签和徽章组件

一&#xff0e;路径组件 路径组件也叫做面包屑导航。 <ol class"breadcrumb"><li><a href"#">首页</a></li><li><a href"#">产品列表</a></li><li><a href"#">大…

python之爬虫(四)之 Requests库的基本使用

什么是Requests Requests是用python语言基于urllib编写的&#xff0c;采用的是Apache2 Licensed开源协议的HTTP库如果你看过上篇文章关于urllib库的使用&#xff0c;你会发现&#xff0c;其实urllib还是非常不方便的&#xff0c;而Requests它会比urllib更加方便&#xff0c;可以…

win8下cocos2dx-3.2+VS2012环境配置及项目创建

这是本人CSDN的第一篇博客&#xff0c;因为假期在学校做实训项目接触到了cocos2dx&#xff0c;觉得是一个特别适用强大&#xff0c;有不错的可移植性&#xff08;虽然可移植性不错&#xff0c;但实际上写好的游戏往Android上移植&#xff0c;我的队友废了好大劲。。。&#xff…

Mac系统下Homebrew的安装和使用Homebrew安装python

这里向大家推荐一个东西&#xff0c;Mac下很好用的东西&#xff0c;叫做Homebrew。刚开始接触Mac的时候&#xff0c;我也没听过这个东西&#xff0c;但装了以后真的觉得&#xff0c;TMD太碉堡了。引用一句话&#xff1a;Homebrew is the easiest and most flexible way to inst…

Mac下cocos2dx-3.2+Xcode环境配置和项目创建

这是有关环境配置的第二篇教程&#xff0c;第一篇讲的是win8下的环境配置。这里我们使用C。所有如果你用其他语言如Lua和js进行cocos2d开发&#xff0c;那么可以再找一找其他的配置文档。下面要说Mac os 下 cocos2dx-3.2Xcode的环境配置&#xff0c;这里我使用的是Xcode 5.1.1。…

Mac OS使用技巧之一:查看Finder中的.bash_profile等系统隐藏文件

作为一个程序员&#xff0c;经常要配置变量&#xff0c;可能要更改hosts文件&#xff0c;或者你闲着没事儿寻找homebrew给你安装的东西在什么地方。Mac OS的内核是Unix&#xff0c;Linux/Unix系统出于系统安全和用户安全的考虑&#xff0c;会把一些与系统相关的文件隐藏&#x…

win8下cocos2dx3.2移植android平台及代码打包APK

cocos2dx程序不能只在VS2012下运行&#xff0c;迟早是要搬运到Android和IOS上的。Windows下移植IOS平台先搁下不说比较困难&#xff0c;而且只有越狱的苹果机才可以运行&#xff0c;而且毕竟IOS高端、小众。这里主要讲一下移植Android&#xff0c;windows下cocos2dx打包成APK和…

【转】用Fiddler做抓包分析详解

1.为什么是Fiddler? 抓包工具有很多&#xff0c;小到最常用的web调试工具firebug&#xff0c;达到通用的强大的抓包工具wireshark.为什么使用fiddler?原因如下&#xff1a; a.Firebug虽然可以抓包&#xff0c;但是对于分析http请求的详细信息&#xff0c;不够强大。模拟http…

Mac下cocos2dx3.2移植android平台详细教程

本文是cocos2dx移植android的第二篇教程&#xff0c;笔者深深感觉&#xff0c;cocos2dx移植android平台是永远的痛啊。。。下面讲一下笔者花费一个周研究的Mac OS下的cocos2dx3.2android配置首先要准备的东西&#xff08;1&#xff09;下载cocos2dx3.2 http://www.cocos2d-x.o…

robotframework(12)修改用户密码(从数据库查询短信验证码)

一、testcase&#xff1a;修改用户密码需要6个参数&#xff08;短信验证码、设置的新密码、用户已登录的userid及用户唯一标识、接口校验码、被修改的手机号&#xff09;&#xff0c;故先准备这些参数 二、用户登录请求&#xff0c;&#xff08;获取userid、用户唯一标识&#…

Mac OS使用技巧之二:修改变量Path解决android: command not found

前一阵子&#xff0c;一直在搞Mac OS和win8下cocos2dx移植android平台的方法。一步步从无到有的慢慢摸索出来。最近发现了一个小问题&#xff0c;有关环境变量配置的写下来分享给大家。就是我们在windows8下查看已有android SDK的版本&#xff0c;需要在CMD里面输入&#xff1a…