day2 Opencv + image
【参考网站】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的更多相关文章
- opencv在图像显示中文
在图像定位和模式识别时,经常需要把结果标注到图片上,标注内容可以是数字字母.矩形框等(opencv支持的)或者是中文汉字(借助freetype). 1.显示数字/矩形框 #include <op ...
- opencv中Mat与IplImage,CVMat类型之间转换
opencv中对图像的处理是最基本的操作,一般的图像类型为IplImage类型,但是当我们对图像进行处理的时候,多数都是对像素矩阵进行处理,所以这三个类型之间的转换会对我们的工作带来便利. Mat类型 ...
- opencv源码:cascadedetect
级联分类器检测类CascadeClassifier,提供了两个重要的方法: CascadeClassifier cascade_classifier; cascade_classifier.load( ...
- 基于OpenCV的车辆检测与追踪的实现
最近老师布置了一个作业,是做一个基于视频的车辆检测与追踪,用了大概两周的时间做了一个简单的,效果不是很理想,但抑制不住想把自己的一些认识写下来,这里就把一些网络上的博客整理一下分享给大家,希望帮助到大 ...
- OpenCV人脸识别Eigen算法源码分析
1 理论基础 学习Eigen人脸识别算法需要了解一下它用到的几个理论基础,现总结如下: 1.1 协方差矩阵 首先需要了解一下公式: 共公式可以看出:均值描述的是样本集合的平均值,而标准差描述的则是样本 ...
- OpenCV人脸识别LBPH算法源码分析
1 背景及理论基础 人脸识别是指将一个需要识别的人脸和人脸库中的某个人脸对应起来(类似于指纹识别),目的是完成识别功能,该术语需要和人脸检测进行区分,人脸检测是在一张图片中把人脸定位出来,完成的是搜寻 ...
- OpenCV模板匹配算法详解
1 理论介绍 模板匹配是在一幅图像中寻找一个特定目标的方法之一,这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否“相似”,当相似度足够高时,就认为找到了我们的目标.OpenCV ...
- android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测
目录: 1,过程感慨: 2,运行环境: 3,准备工作: 4,编译 .so 5,遇到的关键问题及其解决方法 6,实现效果截图. (原创:转载声明出处:http://www.cnblogs.com/lin ...
- 海康网络摄像机YV12转换为BGR,由opencv Mat显示 (转)
我使用的是海康DS-2CD852MF-E, 200万,网络摄像机,已经比较老了,不过SDK在海康官网下载的,开发流程都差不多. 海康摄像机回调解码后的视频数据格式为YV12,顺便说一下YV12的数据格 ...
随机推荐
- 使用Qt框架开发http服务器问题的记录
最近需求需要开发一款 HTTP ,然后由于先前接触过Qt,就直接用Qt写HTTP服务器了,也是为了当作练手,要不然是直接上HTTP框架的. 后端用C++ Qt框架 前端为了练手 当然是纯生的 js h ...
- BZOJ3224:普通平衡树(Splay)
Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相 ...
- POJ2187 Beauty Contest(旋转卡壳)
嘟嘟嘟 旋转卡壳模板题. 首先求出凸包. 然后\(O(n ^ 2)\)的算法很好想,但那就不叫旋转卡壳了. 考虑优化:直观的想是在枚举点的时候,对于第二层循环用二分或者三分优化,但实际上两点距离是不满 ...
- luogu P1272 重建道路
嘟嘟嘟 这好像是一种树上背包. 我们令dp[i][j] 表示在 i 所在的子树中(包括节点 i)分离出一个大小为 j 的子树最少需割多少条边. 那么转移方程就是 dp[u][j] = min(dp[u ...
- [Java123] JDBC and Multi-Threading 多线程编程学习笔记
项目实际需求:DB交互使用多线程实现 多线程编程基础:1.5 :( (假设总分10) 计划一个半月从头学习梳理Java多线程编程基础以及Oracle数据库交互相关的多线程实现 学习如何通过代码去验证 ...
- PAT——1046. 划拳
划拳是古老中国酒文化的一个有趣的组成部分.酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字.如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒.两人同赢或两人同输 ...
- PAT——1026. 程序运行时间
要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock()函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间.这个时间单位是clock tick,即“时 ...
- POJ 1157 LITTLE SHOP OF FLOWERS (超级经典dp,两种解法)
You want to arrange the window of your flower shop in a most pleasant way. You have F bunches of flo ...
- 错误的另一个常见原因是默认的安全组规则。default security group默认情况下不允许ICMP(ping命令使用的协议)
可以在openstack horizon界面中添加ICMP和ssh(TCP)规则,也可以通过命令行.命令行方式给默认安全组添加规则的方法如下: $ nova secgroup-add-rule def ...
- 与MySQL的零距离接触
存储引擎 查看数据表的创建命令:show create table tbl_name