python+OpenCV图像处理(一)读取、复制、显示、保存
前 言
从2017年入坑人工智能领域开始,就被这一领域深深的所吸引,虽然到现在已经踩了不少坑,但总算有了不少的收获,深感不虚此行,借助强大的python让我快速的向着这一领域靠近,现在流行比较广的人工智能应用,比如:图像识别,语音识别,文本情感分析,人体行为分析等等。在金融、安全、智能推荐等等,凡是我们能想到的领域,都可以安插人工智能的应用,对推进万物互联、万物互通的未来智能具有深刻影响,可以说是大势所趋。
由于人类语言的千变万化,和对语言分析应用的单一,导致在语音、语义方面远不如图像分析应用的广泛。OpenCV是一个专门对图像进行处理的库,在此后的学习中,我们会深刻认识到它的强大。借助强大的互联网,集万众之所长,完成学习任务。
图像的读取、复制、显示、保存
(一)认识图像、读取图像
所谓的图像就是一个数组,所有对图像的处理就是对数字的处理
# 导入包
import cv2
import numpy as np
img = cv2.imread('rose.jpg')
print(img)
print(np.shape(img))
输出结果为:
[[[ 65 134 107][ 65 134 107][ 65 134 107]..., [ 33 90 69][ 33 90 69][ 31 90 69]][[ 64 133 106][ 64 133 106][ 64 133 106]..., [ 33 90 69][ 33 90 69][ 31 90 69]][[ 64 132 107][ 64 132 107][ 63 131 106]..., [ 33 90 69][ 33 90 69][ 31 90 69]]..., [[ 1 75 49][ 2 76 50][ 0 77 50]..., [ 24 62 66][ 25 63 67][ 27 65 69]][[ 1 75 49][ 2 76 50][ 0 77 50]..., [ 19 57 61][ 21 59 63][ 22 60 64]][[ 1 75 49][ 2 76 50][ 0 77 50]..., [ 17 55 59][ 19 57 61][ 20 58 62]]]
(972, 1024, 3)
(二)显示图像
接下来我们来让读取的图像显示出来,刚才的图片太大了,我将图片弄小了一些
# 读取图片
img = cv2.imread('rose1.jpg')
# 先创建一个窗口
cv2.namedWindow('Image')
# 在窗口中显示图像
cv2.imshow('Image', img)
# 最后还要写一句代码,这样就可以使窗口始终保持住
cv2.waitKey(0)
运行结果为:
在读取图片中,imread(‘图片地址’,‘模式参数’)函数可以来控制所读取图片的模式。
模式参数:
0:读入的为灰度图像(即使读入的为彩色图像也将转化为灰度图像)
1:读入的为彩色图像(默认)
img = cv2.imread('rose1.jpg', 0)
cv2.destroyAllWindows()
最后别忘了释放窗口,养成良好习惯。
(三)复制图像
img1 = img.copy()
(四)保存图像
保存图像也非常简单
cv2.imwrite('rose_copy.jpg', img1)
第一个参数是保存图像的地址以及文件的名字,第二个参数是所要保存的图像数组。
其实它还有第三个参数,针对特定的图像格式,对于JPEG,其表示的是图片的quality,用0-100的整数表示,默认为95。当然,你如果把参数设置的超过100也不会出错,但到100已经达到图片本身的最高质量了。cv2.IMWRITE_JPEG_QUALITY的类型为int类型,符合图像数组为整数的要求,不用再更改类型。
cv2.imwrite('rose_copy1.jpg', img1, [cv2.IMWRITE_JPEG_QUALITY, 2])
对于PNG,第三个参数表示的是压缩级别。cv2.IMWRITE_PNG_COMPRESSION,从0到9,压缩级别越高,图像尺寸越小。默认级别为3.
cv2.imwrite("rose1_test.png", img, [cv2.IMWRITE_PNG_COMPRESSION, 0])
cv2.imwrite("rose2_test.png", img, [cv2.IMWRITE_PNG_COMPRESSION, 9])
其实,还有很多有趣的操作,就不介绍了,需要用的时候在进行学习,知道这两个比较常用的。
python+OpenCV图像处理(一)读取、复制、显示、保存相关推荐
- Python+Opencv图像处理新手入门教程(四):视频内容的读取与导出
一步一步来吧 上一节: Python+Opencv图像处理新手入门教程(三):阈值与二值化 1.Intro 今天这节我们主要看怎么利用opencv读取并处理视频中的内容. 2.VideoCapture ...
- Python+OpenCV图像处理(一篇全)
参考:1.网易云课堂 Python+OpenCV图像处理 - 网易云课堂 2.[在水一方xym的博客]业精于勤荒于嬉,行成于思毁于随 - CSDN博客 https://blog.csdn.net/za ...
- python+opencv图像处理之边缘检测车道线识别
python+opencv图像处理之边缘检测车道线识别 1.自行安装python和opencv 2.导入我们要使用的相关库 import cv2 from matplotlib import pypl ...
- python+opencv图像处理之七:直方图均衡化
python+opencv图像处理之七:直方图均衡化 目录 python+opencv图像处理之七:直方图均衡化 一.直方图均衡化 二.直方图绘制 三.直方图均衡化 四.有限对比适应性直方图均衡化 一 ...
- java基于OpenCv图像处理_读取_保存图片
java基于openCv图像处理_读取_保存图片 本文使用javaCV封装后的OpenCv <dependency><groupId>org.bytedeco</grou ...
- Python OpenCV图像处理 理论 代码
python opencv图像处理 GitHub - LeBron-Jian/ComputerVisionPractice OpenCV计算机视觉学习 & 代码 OpenCV计算机视觉学习(1 ...
- Python+Opencv图像处理新手入门教程(三):阈值与二值化
一步一步来吧 上一节: Python+Opencv图像处理新手入门教程(二):颜色空间转换,图像大小调整,灰度直方图 1.Intro 今天这节我们主要研究利用阈值处理图像.例如对于输入图像: 如何做一 ...
- Python+Opencv图像处理新手入门教程(二):颜色空间转换,图像大小调整,灰度直方图
一步一步来吧 上一节:Python+Opencv图像处理新手入门教程(一):介绍,安装与起步 1.什么是图像 对于计算机而言,图像的本质是一个由像素点构成的矩阵. 例如我们用肉眼很容易分辨一辆汽车的后 ...
- pandas读取csv写入mysql_使用python的pandas库读取csv文件保存至mysql数据库
第一:pandas.read_csv读取本地csv文件为数据框形式 data=pd.read_csv('G:\data_operation\python_book\chapter5\\sales.cs ...
- Python+OpenCV图像处理(五)——图像阈值和二值化
系列文章 Python+OpenCV图像处理(一)--OpenCV框架与图像插值算法 Python+OpenCV图像处理(二)--几何变换 Python+OpenCV图像处理(三)--彩色空间互换 P ...
最新文章
- php.ini安全配置详细解释
- Java 最高均薪 19015 元! 9 月程序员工资出炉,你拖后腿了吗?
- 如何选择相机的10大要素!
- border和图片之间有缝隙_院子里现浇水泥板,每块之间留7公分的缝,铺出来的效果漂亮大气...
- 电脑下边的任务栏不见了_正确的Windows任务栏设置,为你的操作带来便利,一起学习...
- Java设计模式应用——工厂模式
- kubuntu18.04 重装显卡驱动后无法进入桌面
- linux机顶盒怎么破解wifi,折腾一下数字电视的机顶盒
- “确定“和“取消“摆放顺序
- 第二次作业:微博案例分析
- clickhouse-backup数据备份
- Go基础:路径、文件名和包名的关系
- C++运算符重载 ++,--,+,-,+=,-=,输出输入运算符
- 报错:Ncat: bind to :::8888: Address already in use. QUITTING
- html导航栏怎么加点,点靓网页的10种导航菜单设计
- 固高jog运动和点位运动
- 线性代数(三十四) : 广义特征向量
- java HashMap练习题1
- fiddler移动端抓包wifi不可上网(配置都正确,防火墙已关闭)
- itoa 头文件 linux,Linux中的itoa功能在哪里?
热门文章
- mysql多种join_MySQL的几种Join
- keepass2Android密码,Keepass2Android密码管理(快速解锁密码)
- python修改mac地址_python利用_winreg模块制作MAC地址修改工具
- 手机电脑的芯片主要是由_全体起立!苹果自研电脑芯片登场,iOS迎大更新…WWDC20精彩远不止这些...
- 高效利用无标注数据:自监督学习简述
- 【小马哥】Spring Boot系列讲座
- 以史为鉴 | 为什么要将「知识图谱」追溯到1956年?
- Android自定义控件入门实践之雷达扫描控件
- 事理图谱:一种纯学术需求、无法落地、漏洞百出的新技术或新概念?
- 人工智能,装在罐子里