python安装Package命令
pip install [package_name]
python
import cv2
cv2.version
OpenCV的GUI特性
1.1图片
重点:
图片的读入(cv2.imread())
图片的显示(cv2.imshow())
图片的保存(cv2.imwrite())
1.1.1图片的读入
cv2.imread()
帮助文档的查看
import cv2
#print(cv2.__version__)
print(help(cv2.imread))
IMread(…)
imread(文件名[,标志])->retval
. @Brief从文件加载图像。
.
. @定位imread
.
. 函数imread从指定的文件加载图像并返回它。如果图像不能
. 读取(由于缺少文件、权限不正确、格式不受支持或无效),函数
. 返回空矩阵(mat::data==null)。
.
. 目前,支持以下文件格式:
.
. -Windows位图-*.bmp、*.dib(始终支持)
. -jpeg文件-*.jpeg、*.jpg、*.jpe(请参见注释部分)
. -jpeg 2000文件-*.jp2(请参见注释部分)
. -可移植网络图形-*.png(参见注释部分)
. -webp-*.webp(请参阅注释部分)
. -便携式图像格式-*.pbm、*.pgm、*.ppm*.pxm、*.pnm(始终支持)
. -pfm文件-*.pfm(请参见注释部分)
. -Sun Raster-*.sr、*.ras(始终支持)
. -TIFF文件-*.tiff、*.tif(请参见注释部分)
. -openexr图像文件-*.exr(请参阅注释部分)
. -radance hdr-*.hdr、*.pic(始终支持)
. -gdal支持的栅格和矢量地理空间数据(参见注部分)
.
. @便条
. -函数通过内容而不是文件扩展名来确定图像的类型。
. -对于彩色图像,解码后的图像将按b g r顺序存储通道。
. -使用imread_灰度时,将使用编解码器的内部灰度转换(如果可用)。
. 结果可能与cvtcolor()的输出不同。
. -在Microsoft Windows *操作系统和MacOSX *上,OpenCV图像附带的编解码器(libjpeg,
. 默认情况下使用libpng、libtiff和libjasper)。所以,opencv总是可以读取jpegs,pngs,
. 和TIFF。在MacOSX上,还可以选择使用本地MacOSX图像阅读器。但是要小心
. 由于
. 嵌入到MacOSX中的颜色管理。
. -在Linux *、BSD风格和其他类似于Unix的开源操作系统上,opencv寻找
. 随操作系统映像提供的编解码器。安装相关软件包(不要忘记开发
. 文件,例如,“libjpeg dev”,在debian *和ubuntu *中)以获得编解码器支持或转换
. 在cmake中的opencv_build_3party_libs标志上。
. -如果在cmake中将with_gdalflag设置为true,@ref imread_load_gdal设置为加载图像,
. 然后使用[gdal](http://www.gdal.org)驱动程序对图像进行解码,支持
. 以下格式:【光栅】(http://www.gdal.org/formats_list.html)
. [矢量](http://www.gdal.org/ogr_formats.html)。
. -如果图像文件中嵌入了exif信息,则会考虑exif方向。
. 因此,图像将相应地旋转,除非传递了标志@ref imread_ignore_orientation。
. -使用imread_unchanged标志保留来自pfm图像的浮点值。
. -默认情况下,像素数必须小于2^30。可以使用系统设置限制
. 变量opencv_io_max_image_像素
语法格式:
cv2.imread(filename[,flags])
filename:图像名称或路径
flags:如何读取图片(如灰度)
cv2.IMREAD_COLOR:读彩色图像,会自动图片的透明度,默认参数。——>1
cv2.IMREAD_GRAYSCALE:以灰度模式读取图像——>0
cv2.IMREAD_UNCHANGED:读取一幅图像,并包括图像的alpha通道——>-1
路径
绝对路径
盘符开始,一直到文件位置
import cv2
img = cv2.imread(r'D:\pycharm\kc\ym\timgL69XY16I.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('result', img)
cv2.waitKey()
cv2.destroyAllWindows()
相对路径
相对当前文件的位置
import cv2
img = cv2.imread(r'..\ym\timgL69XY16I.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('result', img)
cv2.waitKey()
cv2.destroyAllWindows()
注意: . 当前路径; …上级目录
网络路径
OpenCV中不可使用网络路径
保存到路径:
import cv2
img = cv2.imread(r'..\ym\timgL69XY16I.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('result', img)
cv2.imwrite("ym.jpg", img) #保存到当前路径(重新命名)
cv2.waitKey()
cv2.destroyAllWindows()
import cv2
img = cv2.imread(r'..\ym\timgL69XY16I.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('result', img)
cv2.imwrite("..\ym\ym.jpg", img) #保存到其他路径
cv2.waitKey()
cv2.destroyAllWindows()