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

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

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

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

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

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

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

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

来看一下效果:

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

打印图片的属性和实现另存图片功能以及使用numpy的更多相关文章

  1. Python+OpenCV图像处理(二)——打印图片属性、设置图片存储路径、电脑摄像头的调取和显示

    一. 打印图片属性.设置图片存储路径 代码如下: #打印图片的属性.保存图片位置 import cv2 as cv import numpy as np #numpy是一个开源的Python科学计算库 ...

  2. css技术之用最高和最宽的限制“max-height和max-width”做图片同比例缩放,达到图片不变形目的,做出批量打印图片功能,页面打印“window.print()”

    一.简介 他们是为流而生的,像width/height这种定死的砖头式布局,min-width/max-width就没有存在的意义 ,min-width/max-width一定是自适应布局或流体布局中 ...

  3. 富文本编辑器UEditor自定义工具栏(二、插入图片、音频、视频个性化功能按钮和弹层及自定义分页符)

    导读:本篇将简单探讨插入图片.音频.视频的功能按钮实现方式 传送门:富文本编辑器UEditor自定义工具栏(一.基础配置与字体.背景色.行间距.超链接实现) 一.效果图 1.UEditor自定义工具栏 ...

  4. LODOP用ADD_PRINT_IMAGE语句缩放打印图片

    LODOP提高输出图片质量的方法:1.用ADD_PRINT_IMAGE语句打印图片,而且img元素的width和height属性要去掉或者设置足够大,这样就可以让下载引擎传给Lodop图片质量足够好; ...

  5. CSS 奇思妙想 | 使用 resize 实现强大的图片拖拽切换预览功能

    本文将介绍一个非常有意思的功能,使用纯 CSS 利用 resize 实现强大的图片切换预览功能.类似于这样: 思路 首先,要实现这样一个效果如果不要求可以拖拽,其实有非常多的办法. 将两张图片叠加在一 ...

  6. python实现图像加载与保存,窗口创建与销毁,图片常用属性,ROI,通道的分离与合并,对比度和亮度

    目录: (一)图像加载与保存 (二)图像显示窗口创建与销毁 (三)图片的常用属性的获取 (四)生成指定大小的矩形区域(ROI) (五)图片颜色通道的分离与合并 (六)两张图片相加,改变对比度和亮度 ( ...

  7. C# 热敏打印机 Socket 网络链接 打印 图片

    C# 热敏打印机 Socket 网络链接 打印 图片 (一) http://www.cnblogs.com/rinack/p/4838211.html C# 热敏打印机 Socket 网络链接 打印 ...

  8. 【JavaScript】修改图片src属性切换图片

    今天做项目时其中一个环节需要用到js修改图片src属性切换图片,现在来记录一下 以下是示例: html <img src="/before.jpg" id="img ...

  9. C# 热敏打印机 小票打印机 打印图片

    最近一直在研究并口小票打印机打印图片问题,这也是第一次和硬件打交道,不过还好,最终成功了. 这是DEMO的窗体: 下面是打印所需要调用的代码: 因为我们这里主要是打印条形码和二维码,所以以条形码和二维 ...

随机推荐

  1. 使用TensorFlow进行训练识别视频图像中物体

    本教程针对Windows10实现谷歌公布的TensorFlow Object Detection API视频物体识别系统,其他平台也可借鉴. 本教程将网络上相关资料筛选整合(文末附上参考资料链接),旨 ...

  2. 洛谷1972 HH的项链 树状数组查询区间内不同的数的数量

    题目链接:https://www.luogu.com.cn/problem/P1972 题意大致是:给定一个序列长度为n,给出m个查询区间,要求响应是区间内不同的数的个数.为此我们考虑到树状数组的区间 ...

  3. Chrome EC框架探索_0.0_引言

    0.0 引言 嵌入式硬件抽象框架常常面临着这样的尴尬:封装层次较高的(arduino,mbed)不能充分暴露必要的API并面临着性能问题,封装层次较低的(HAL,LL)接口复杂且开发困难.近日发现的一 ...

  4. 子序列宽度求和 Sum of Subsequence Widths

    2019-10-14 17:00:10 问题描述: 问题求解: 如果暴力求解,时间复杂度是exponational的,因为这里是子序列而不是子数组.显然,直接枚举子序列是不太现实的了,那么可以怎么做呢 ...

  5. [ex-kmp] HDU 2019 Multi-University Training Contest 5-string matching

    string matching Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others ...

  6. springboot整合dubbo+zookeeper最新详细

    引入 最近和小伙伴做一个比赛,处于开发阶段,因为涉及的服务比较多,且服务需要分开部署在不同的服务器上,讨论之后,打算采用分布式来做,之前学习springboot的时候,部分章节涉及到了springbo ...

  7. jmeter参数化之函数助手(十五)

    jmeter-参数化: 参数化的作用:调用接口入参时.有时要求参数经常变化,如果每次去修改就会变得很繁琐,这时候就需要把经常变化的值改变为提前编辑好的文档或函数中,便于调用时使用不同的值. Jmete ...

  8. Thread Future模式

    多线程不管是extends Thread 还是 implements Runnable 都是要重写run 方法来实现,这两种方式子线程都没有返回值. 如果要实现主线程对子线程的监听,让子线程有返回值, ...

  9. iOS 构建动态库

    一.构建步骤 创建一个动态库 MyDynamicFramework 创建一个测试类 在 MyDynamicFramework.h(默认生成,可统一暴露头文件) 中 #import "Pers ...

  10. CSS基础总结 1

    一.什么是 CSS? CSS 指层叠样式表 (Cascading Style Sheets),是一种用来表现 HTML 文档样式的语言,样式定义如何显示 HTML 元素,是能够真正做到网页表现与结构分 ...