【参考网站】http://backyardlife.duapp.com/duan/

1.目标:

  读入一幅图像,怎样显示一幅图像,以及如何保存一幅图像
    cv2.imread(),cv2.imshow(),cv2.imwrite()

  Matplotlib 显示一幅图片

2.实例

  1.读入图像

#coding=utf-8
#cv2.imread(),cv2.imshow(),cv2.imwrite() import numpy as np
import cv2 img = cv2.imread('22.png',0) #读入图像
#img = cv2.IMREAD_COLOR('22.png',0) #读入彩色图像图像
#img = cv2.IMREAD_COLOR('22.png',0) #读入彩色图像
#img = cv2.IMREAD_GRAYSCALE('22.png',0) #TypeError: 'int' object is not callable 以灰度模式读入图像
#4 2 1 0 8 -1 cv2.imshow('image',img) # 显示图像 cv2.waitKey(0) #cv2.waitKey() 是一个键盘绑定函数
cv2.destroyAllWindows() #cv2.destroyAllWindows() 可以轻易删除任何我们建立的窗口

  

  

  2.你也可以先创建一个窗口,之后再加载图像。函数:cv2.namedWindow()

#coding=utf-8
#cv2.imread(),cv2.imshow(),cv2.imwrite() import numpy as np
import cv2 img = cv2.imread('22.png',0) #读入图像 cv2.namedWindow('image',cv2.WINDOW_NORMAL) # cv2.namedWindow()先创建一个窗口,之后再加载图像
cv2.imshow('image',img) # 显示图像 cv2.imwrite('22bak.png',img) #保存图像 cv2.waitKey(0)
cv2.destroyAllWindows()

  

  3.保存图像函数   cv2.imwrite() 来保存一个图像

# coding=utf-8

'''
加载一个灰度图,显示图片,按下’s’键保存后退出,或者
按下 ESC 键退出不保存。
''' import numpy as np
import cv2 img = cv2.imread('22.png',0)
cv2.imshow('image',img)
k = cv2.waitKey(0) #cv2.waitKey() 是一个键盘绑定函数
if k == 27:
cv2.destroyAllWindows() #删除任何我们建立的窗口
elif k == ord('s'):
cv2.imwrite('k.png',img) #保存图片
cv2.destroyAllWindows() #删除任何我们建立的窗口

  

  

  4.使用 Matplotlib

  Matplotib 是 python 的一个绘图库,里头有各种各样的绘图方法。

# coding=utf-8
import numpy as np
import cv2
from matplotlib import pyplot as plt img = cv2.imread('22.png',1) plt.imshow(img, cmap = 'gray',interpolation='bicubic') plt.xticks([]),plt.yticks([]) #在 X 和 Y 轴上隐藏刻度值
plt.show()

  

 

day2 Opencv + image的更多相关文章

  1. opencv在图像显示中文

    在图像定位和模式识别时,经常需要把结果标注到图片上,标注内容可以是数字字母.矩形框等(opencv支持的)或者是中文汉字(借助freetype). 1.显示数字/矩形框 #include <op ...

  2. opencv中Mat与IplImage,CVMat类型之间转换

    opencv中对图像的处理是最基本的操作,一般的图像类型为IplImage类型,但是当我们对图像进行处理的时候,多数都是对像素矩阵进行处理,所以这三个类型之间的转换会对我们的工作带来便利. Mat类型 ...

  3. opencv源码:cascadedetect

    级联分类器检测类CascadeClassifier,提供了两个重要的方法: CascadeClassifier cascade_classifier; cascade_classifier.load( ...

  4. 基于OpenCV的车辆检测与追踪的实现

    最近老师布置了一个作业,是做一个基于视频的车辆检测与追踪,用了大概两周的时间做了一个简单的,效果不是很理想,但抑制不住想把自己的一些认识写下来,这里就把一些网络上的博客整理一下分享给大家,希望帮助到大 ...

  5. OpenCV人脸识别Eigen算法源码分析

    1 理论基础 学习Eigen人脸识别算法需要了解一下它用到的几个理论基础,现总结如下: 1.1 协方差矩阵 首先需要了解一下公式: 共公式可以看出:均值描述的是样本集合的平均值,而标准差描述的则是样本 ...

  6. OpenCV人脸识别LBPH算法源码分析

    1 背景及理论基础 人脸识别是指将一个需要识别的人脸和人脸库中的某个人脸对应起来(类似于指纹识别),目的是完成识别功能,该术语需要和人脸检测进行区分,人脸检测是在一张图片中把人脸定位出来,完成的是搜寻 ...

  7. OpenCV模板匹配算法详解

    1 理论介绍 模板匹配是在一幅图像中寻找一个特定目标的方法之一,这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否“相似”,当相似度足够高时,就认为找到了我们的目标.OpenCV ...

  8. android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测

    目录: 1,过程感慨: 2,运行环境: 3,准备工作: 4,编译 .so 5,遇到的关键问题及其解决方法 6,实现效果截图. (原创:转载声明出处:http://www.cnblogs.com/lin ...

  9. 海康网络摄像机YV12转换为BGR,由opencv Mat显示 (转)

    我使用的是海康DS-2CD852MF-E, 200万,网络摄像机,已经比较老了,不过SDK在海康官网下载的,开发流程都差不多. 海康摄像机回调解码后的视频数据格式为YV12,顺便说一下YV12的数据格 ...

随机推荐

  1. ECharts 图表设置标记的大小 symbolSize 和获取标记的值

    ECharts 是百度出品,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等) ...

  2. 怎么在Linux环境下通过VS Code调试Python 3+?

    今天突然想写一写Python了,于是就开始弄.使用源码包安装好Python3.6.6之后,发现Linux下只能通过python3来调用python 3.6.6.如果直接使用python的话,调用的是系 ...

  3. meta标签的使用(转)

    1.Expires(期限) 说明:可以用于设定网页的到期时间.一旦网页过期,必须到服务器上重新传输. 用法: <meta http-equiv="expires" conte ...

  4. canvas抛物线运动demo

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  5. 二值形态学——腐蚀与膨胀 及 C语言代码实现

    参考文献:数字图像处理(第三版) 何东健 西安电子科技大学出版社 二值形态学中的运算对象是集合, 但实际运算中, 当涉及两个集合时并不把它们看作是互相对等的. 一般设A为图像集合, S为结构元素, 数 ...

  6. UVa 10900 - So you want to be a 2n-aire?(期望DP)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  7. 智慧监狱来了!SaCa EMM 助推现代监狱建设迈上新台阶

    近几年来,移动化已经成为警务信息化建设的必然方向,为紧急和突发事件的处理提供了信息依据.为监狱民警提供移动警务所需的信息管理系统,司法系统从很早就开始推动警务通项目.为了落实移动警务的工作需求,很多监 ...

  8. Android SDK Manager仅有一个版本的问题

    搭建好MonkeyRunner的环境之后,建立虚拟器的时候发现SDK的管理器中只有4.3的版本,查阅了一下百度,问题解决如下: (1)在c:\Windows\System32\etc\hosts文件中 ...

  9. @PostConstruct与@PreDestroy讲解及实例

    关于在spring  容器初始化 bean 和销毁前所做的操作定义方式有三种: 第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化后和销毁bean之前进行的操作 第 ...

  10. Redis简单集群配置

    参考链接为:http://blog.csdn.net/u014230881/article/details/71123494 比较系统学习和熟练使用Redis命令可参考该教程:http://www.r ...