Opencv-Python:图像尺寸、图像的读取、显示、保存与复制
Opencv-Python:图像尺寸、图像的读取、显示、保存与复制
在使用opencv的方法时,首先必须导入opencv包。新的opencv导入cv2,这里也和cv做了一个对比
- import cv2
一、图像尺寸
图像的大小可以通过其shape属性来获取,shape返回的是一个tuple元组,第一个元素表示图像的高度,第二个表示图像的宽度,第三个表示像素的通道数。
示例:
- if __name__ == '__main__':
- dirfile = 'dataset/data/TrainData/001.bmp'
- img = cv2.imread(dirfile)
- size = img.shape
- print size
在cv中,是通过size = cv2.GetSize(i)的GetSize()函数来获取的
二、读取图像
在python中不需要声明变量,知道图像的具体位置就可以通过imread()直接读取;目前opencv支持读取bmp、jpg、png等常用的一些格式,更详细的内容请参考opencv的参考文档。读取:
- image = cv2.imread('F:/001.nmp')
cv对应的方法是grey_image = cv2.CreateImage(size, 8, 1)
三、显示图像
首先创建一个新的窗口用于显示图像:
- cv2.namedWindow('showimage')
然后在窗口中显示图像:
- cv2.imshow("Image",i)
- cv2.waitKey(0)
cv中cv.ShowImage("Image",i)显示图像,cv.WaitKey()
四、保存图像
- cv2.imwrite(F:/images',image,[int(cv2.IMWRITE_JPEG_QUALITY),5])三个参数分别对应保存的路径及文件名、图像矩阵、指定格式(对于JPEG,其表示的是图像的质量,
- 用0-100的整数表示,默认为95。 注意,cv2.IMWRITE_JPEG_QUALITY类型为Long,必须转换成int;对于PNG,第三个参数表示的是压缩级别。cv2.IMWRITE_PNG_COMPRESSION,
- 从0到9,压缩级别越高,图像尺寸越小。这个是可选参数)
在原来的opencv中可以直接使用cv.CreateImage()创建图像,但cv2就需要使用numpy的函数了
- import numpy as np
- image = np.zeros(img.shape, np.uint8)
当然也可以直接复制原来的图像到一张新的图像上:
- image = img.copy()
- image = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架