使用Python OpenCV处理图像之图像文件的打开、显示和保存操作

『OpenCV-Python』安装以及图像的读取、显示、保存 OpenCV 是一个开源的计算机视觉库,广泛应用于图像处理、机器学习和实时计算机视觉应用。比如图像和视频的滤镜和降噪、物体检测、人脸识别、证件号识别、车牌识别等应用。当然,也有其他工具可以对这些领域做支持,但本专栏是介绍 OpenCV 的,所以只讲 OpenCV 的好话。OpenCV 对「数字图像」提供了很多种功能函数,图像是由像素组成,而每个像素包含了颜色、亮度、饱和度等信息,这些信息在计算机中都是以数据的方式保存(通常是各种类型的数字),OpenCV 很擅长操作和处理这些数据。 阅读详情

         前面我们使用Python OpenCV进行了图像的通道操作(使用Python中OpenCV库创建一幅图片的RGB通道图片),还使用OpenCV对微信头像进行处理(一个Pythoner获取微信国旗头像的正确途径,请不要再@微信官方了)。在这过程中我们发现了OpenCV库的强大之处。

今天,我们对OpenCV库的基本操作进行梳理。   

                                     不错的图像处理库O'pen'CV

 

【为什么选择OpenCV】

我们知道,Python中典型的图像库有很多,比如:OpenCV、PIL(Pillow)、skimage。Pillow模块提供了最简单最基本的数字图像处理功能,但功能不是很强大;skimage是基于scipy库的一款图像处理包,正确的写法是sciki-image,它是把图片作为numpy数组进行处理,在这一点上跟OpenCV图像处理方式比较类似,但是scipy库的学习我们还没涉及。因此,今天以OpenCV为例来进行图像处理。

为什么要用OpenCV?

OpenCV实质上是一个c++库,它提供了很多应用程序编写接口。当然,不止是Python了,像R、java、C等典型的编程语言都有接口予以提供。优点来了,就是我们在学习Python的时候掌握了OpenCV的操作,当学习其它语言调用OpenCV进行图像处理时,就会有一种似曾相识的赶脚,一举多得,何乐而不为呢?但是,OpenCV的唯一缺点就是更新速度比较慢。但相信我,这缺点不算什么,因为这个库算是比较成熟的一个库,即使更新速度慢,也丝毫不影响我们使用它进行任何图像处理。

【关于图像的打开】

对于图像的操作,当然打开是第一步,不同的库对于图像打开后返回的值是不一样的。我们使用pillow库和OpenCV库同时打开一张图片,看下它们返回的信息。

使用OpenCV和PIL打开图片测试

测试结果如下所示。

测试运行结

打开的图像信息中可以看到,OpenCV打开的图像能够真实无损反映该图像的信息,这些信息都是像素级的,对于图片处理能够更加精准地进行。而PIL的处理时封装在对象里面的,对于处理任何一个像素点,可扩展性和自定义性比较OpenCV就有点弱了,对比提供的方法,OpenCV也是远大于PIL库的。

【关于图像的显示】

图像的显示很简单,直接使用cv2.imshow(windowName, Img)函数即可。现在我们来打开一幅图像并显示它,代码如下图所示。

打开并显示图像

运行程序,执行效果如下图所示。

打开图像成功

对于程序中后两行内容解释如下:

cv2.waitKey():等待键盘响应函数,函数中可以传入具体的毫秒数,表示具体程序等待键盘输入的时间,如果传入特定的毫秒数,则特定毫秒数内按下任意键会返回该键的ASCII码值,程序将会继续运行,如果没有键盘输入则返回-1;如果传入参数为0,则表示持续等待键盘输入,该函数常用于检测是否有特定的键被按下

cv2.destroyAllWindow():删除我们建立的窗口,参数传入窗口名称即可。

我们可以先创建一个窗口,然后再加载显示图片,使用cv2.namedWindow(windowName, windowMode),窗口的windowMode下图会有展示,感兴趣的可以自己实验下,具体代码如下图所示。

先创建一个窗口再展示图像

【关于图像的保存】

图像的保存很简单,直接使用cv2.imwrite(imageName, Image)即可。同样我们打开上述图片,然后更改名称后将文件存储在本地,有人问了,这样有什么用?你可以试试更改图片的后缀名看一下,其实,这个命令可以更改图片类型哦,代码如下图所示。

保存图像文件代码成功运行,这里就不展示了。

本篇主要对OpenCV的基本操作进行了梳理。感兴趣的朋友可以自己敲代码试试。后续会有更精彩的内容哦,欢迎加关注。

转载自百家号:Python高手养成。

Python3+OpenCV学习笔记(一):图像加载、显示和保存 利用写博客笔记的方式来进行Python和OpenCV学习,记录学习过程、学习心得和遇到的问题。 阅读详情

相关推荐

使用 OpenCV 读取、显示和写入图像

本文围绕OpenCV的安装和基本操作展开,通过逐步介绍其在Python环境下的安装配置、图像读取、显示以及保存等核心操作,使读者可以快速上手OpenCV的图像处理功能。OpenCV提供了丰富且灵活的接口,通过一系列函数调用,可以高效地加载、展示和存储图像,为实现更高级的视觉处理任务打下坚实基础。理解并掌握这些基础技能,有助于开发者更深入地探索OpenCV的强大功能,在图像识别、机器学习以及实时视频处理等领域中充分利用该库的潜力。

Mr数据杨 1929

5 opencv python 鼠标键盘事件

python 鼠标键盘事件 目标 学习使用opencv 处理鼠标事件 学会cv2.setMouseCallback()函数的使用方法 学会cv2.waitKey()函数的使用方法 打印所有opencv事件 import cv2 events=[i for i in dir(cv2) if 'EVENT'in i] print(events) ['EVENT_FLAG_ALTKEY'...

wqs880527的博客 1533

(3-2)OpenCV图像视觉处理:OpenCV-Python图像操作

在本节的内容中,首先学习读取图像、显示图像以及保存图像的知识,然后讲解绘图、图像算法和几何变换的知识。

码农三叔 1685

opencv 轻松入门 面向python pdf_面向Python的OpenCV轻松入门——第一章(2)

下面通过一个示例演示如何通过函数cv2.witkey实现交互功能。【例1.3】在一个窗口内显示图像,并针对按下的不同按键做出不同的反应。 函数cv2.waitkey()能够获取按键的ASCⅡ码。例如,如果该函数的返回值为97,表示按下了键盘上的字母a键。通过将返回值与ASCⅡ码值进行比较,就可以确定是否按下了某个特定的键。例如,通过语句“返回值-97”就可以判断是否按下了字母a键。 Py...

weixin_39629617的博客 1132

【多元统计分析】均值向量和协方差阵的检验——spss上机实验

均值向量和协方差阵的检验——spss上机实验 #参考书目为《多元统计分析》(第五版)——何晓群.中国人民大学出版社 #如有错误,请指正!谢谢~ #关注公众号搜索同名文章获取数据~ 习题2.3 现选取内蒙古、广西、贵州、云南、西藏、宁夏、新疆、甘肃和青海等9个内陆边远省区。选取人均GDP、第三产业比重、人均消费支出、人口自然增长率及文盲半文盲人口占15岁以上人口的比例等5项能较好的说明各地区社会经济发展水平的指标,验证边远及少数民族聚居区的社会经济发展水平与全国平均水平间有无显著差异。 将输入导入spss

suansuannainaizi的博客 3万+

Python爬虫实战:5分钟抓取东方财富股票数据并保存为CSV

在投资分析与量化研究的日常工作中,获取结构化、可用的金融数据往往是第一步。对于个人投资者和量化入门者而言,如何高效获取A股全市场行情,常常面临网页动态加载、反爬机制与数据整理繁琐等挑战。本文从数据采集的基础概念出发,介绍如何利用Python这一通用编程语言,通过requests库请求财经网站公开的HTTP接口,获取返回的JSON数据,再借助pandas进行字段映射、数据清洗与表格化处理。这种方式相比传统页面解析具有响应快、结构稳定、易于批量操作的显著优势,尤其适合构建个人股票数据池、验证选股策略或进行市场情

weixin_33146151的博客 251

opencv鼠标键盘事件

opencv

fksfdh的博客 593

哨兵一号数据下载

哨兵1号数据的下载过程

weixin_59617499的博客 5134

python入门 opencv打开图片和视频

【代码】python入门 opencv打开图片。

tangliang_cn的博客 656

linux和mac安装+配置circos(

一定要下载完这两个包,GD才会work,要不然会报错,且-modules显示也是fail。官网的教程说的很明白,但是很多包都已经过时了需要在网上找。一般来讲,所有包的安装都不会太困难,除了GD。1.是因为官网给的链接下出来的tgz无法解压。2.我的电脑安装后GD照样是fail的。,进入这个地址下一个.tgz。第二点的原因在于,官网的情况。,进入这个地址,按部就班。GD安装困难有以下几点。搞了一天终于配置成功。

xiufan1的博客 549

统计信号处理基础 习题解答1-1

1-1:在雷达习题中,双程延时时间的估计量具有PDF τ0~Nτ0,στ02,其中τ0是真值。假如要估计距离请提出一种估计量R,并求它的PDF。然后,确定标准偏差στ0,使得距离估计值的99%在真值的100m以内,对电磁波传播速度取c=3×108m/s。 解答: 问题1: 由于电磁波传播速度c,信号可观察的双程传播延时τ0和双程传播距离τ0满足关系: R=cτ02 因此可采用如下估计量: R=cτ02 问题2: 由于τ0满足正态分布,且: Eτ0=τ0 varτ0=στ02 那么: E

weixin_43270276的博客 2805

python 文件操作-1

Python 文件操作-1。。。OS库,很重要!

分享 1292

基于深度学习的图像修复系统,GAN图像修复,图像修复算法研究,并实现系统登录和注册,全网独发

近年来,深度学习已成为计算机视觉领域的研究热点,基于深度学习的图像修复技术弥补了传统修复方法长期存在的不足,显著提高了生成结果的质量。深度学习是指模仿人脑机制设计的具有深层结构的神经网络。深度学习作为一种表征学习,通过模仿人脑神经元之间的信息传递方式来学习输入数据的特征,并找到输入和输出数据之间的映射关系。通过在图像修复中应用深度学习技术,可以准确学习图像的语义信息,然后根据信息预测缺失的内容,大大克服了传统修复算法的不足,使结果更具逻辑性。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 8257

python显示图像文件要放在哪儿_使用Python OpenCV处理图像之图像文件的打开、显示和保存操作...

前面我们使用Python OpenCV进行了图像的通道操作(使用Python中OpenCV库创建一幅图片的RGB通道图片),还使用OpenCV对微信头像进行处理(一个Pythoner获取微信国旗头像的正确途径,请不要再@微信官方了)。在这过程中我们发现了OpenCV库的强大之处。今天,我们对OpenCV库的基本操作进行梳理。不错的图像处理库O'pen'CV【为什么选择OpenCV】我们知道,Pyt...

weixin_26851157的博客 936

【YOLOv11】006、YOLOv11数据增强策略:Mosaic、MixUp等增强技术原理解析

摘要:YOLOv11在产线缺陷检测中遇到小尺寸瑕疵漏检问题,暴露了训练数据过于"干净"的缺陷。数据增强的核心是提升模型泛化能力,而非简单扩充数据。Mosaic增强通过多图拼接迫使模型处理多尺度目标,需注意边界框裁剪细节;MixUp通过线性插值使决策边界更平滑,但需避免类别冲突。自适应增强策略应随训练进度动态调整强度。实际应用中,需针对小目标、类别不平衡等场景调整增强参数,并确保验证与推理流程一致。数据增强应针对性解决具体问题,而非盲目尝试组合。

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 365

【ArcGIS微课1000例】0066:图像融合(全色+多光谱)操作案例教程

图像融合是指将不同类型传感器的影像进行融合,既能使图向具有较高的空间分辨率,又具有多光谱的特性。除了遥感软件如Erdas能进行图像融合,ArcGIS软件也可以进行图像融合等图像增强操作。

智慧空间实验室 3077

【Opencv-Python】数字图像处理(一) —— 图像的基本操作

本文介绍了在Python中使用opencv-python库处理图像的基本操作。通过本文可以掌握这些技能,可以读取不同格式的图像,获取图像信息,调整图像大小、色彩转换,按照指定要求存储图像,以及实现图像间的转化,包括图像坐标变换和色彩空间转化等操作。

weixin_64876095的博客 7201

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Python图像处理入门:如何打开图像文件及常见格式

Pillow:适合图像读取、处理和转换,支持多种格式。OpenCV:更强大的图像处理工具,适用于计算机视觉任务。Matplotlib:用于显示图像,结合其他图像处理库一起使用。:适合高阶图像处理。imageio:轻量级的图像读取和显示工具。每个库有其特点,选择最适合你的工具能让你更高效地进行图像处理。在了解如何加载图像之后,你将能进一步处理这些图像,用于神经网络训练和计算机视觉任务。希望这篇文章能帮助你更好地理解如何在 Python 中打开图像文件并进行处理。祝你在学习神经网络的路上取得进展!

专注技术的博主 1159

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

图像处理——基于opencv和python(二)

使用cv.imread()函数读取图像。在第1个位置参数传入图像文件的路径,如果读取文件成功返回一个numpy数组,如果获取失败将返回None。第二个参数是一 个标志,它指定了读取图像的方式。图像应该在工作目录或图像的完整路径应给出注意 除了这三个标志,你可以分别简单地传递整数1、0、None。OpencCV支持 JPG、PNG、TIFF 等常见格式图像文件加载(默认读取的格式是 BGR)。

2303_77497033的博客 1854

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【OpenCV 图像处理 Python版】图像处理的基本操作

例如,HSV 色彩空间中的 H(色调)分量是一个角度值,S(饱和度)和 V(亮度)分量是比例值,而这些值在直接显示时并不能直观地反映出图像的颜色信息。在OpenCV中,可以通过读取图像的属性来获取图像的基本信息,例如图像的尺寸、通道数、数据类型等。在OpenCV中,可以非常方便地获取和修改图像中的像素点。图像在OpenCV中被表示为一个NumPy数组,因此可以使用NumPy的索引和切片操作来访问和修改图像的像素值。如果你处理的是灰度图像,获取属性的方式略有不同,因为灰度图像只有两个维度(高度和宽度)。

花想云的博客 2180

使用 Python OpenCV 进行图像处理

使用 Python OpenCV 进行图像处理

燕鹏 2163

数字图像处理入门:使用Python和OpenCV进行图像和视频处理

本文将结合五张截图中的代码,详细介绍如何使用Python和OpenCV库进行基本的图像和视频处理操作,并对每段代码进行详细分析。

2402_83340197的博客 1510

python打开mat图像文件_OpenCV-Python 读取显示图像 | 五

目标在这里,你将学习如何读取图像,如何显示图像以及如何将其保存回去你将学习以下功能:cv.imread(),cv.imshow(),cv.imwrite()(可选)你将学习如何使用Matplotlib显示图像使用OpenCV读取图像使用cv.imread()函数读取图像。图像应该在工作目录或图像的完整路径应给出。第二个参数是一个标志,它指定了读取图像的方式。cv.IMREAD_COLOR: 加载彩...

weixin_39631017的博客 891

OpenCV-Python——第1章:图像的读入、显示与保存

读入图像 cv2.imread(): 图像变量 = cv2.imread(‘图片路径’,第二参数) 第二参数 = cv2.IMREAD_COLOR 或者 &gt; 0:           读入一副彩色图像。图像的α通道会被忽略, 这是默认参数。 第二参数 = cv2.IMREAD_GRAYSCALE 或者 = 0:    以灰度模式读入图像 第二参数 = cv2.IMREAD_UNCH...

YukinoAI的博客 2292

OpenCV图像处理——创建、读取、无损保存图像(C++/Python)

详细示例了OpenCV创建图像、读写图像、保存图像,保存高质量图像

知来者逆的博客 8168
上一篇: 【Python】高级教程:)正则表达式
下一篇: python gui 中三大框架tkinter,wxpython, pyqt如何选择
python之光
博客等级 码龄7年 114粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值