千家信息网

OpenCV基础操作中图片的读取与写出怎么进行

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,今天给大家介绍一下OpenCV基础操作中图片的读取与写出怎么进行。,文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。1、进
千家信息网最后更新 2026年10月31日OpenCV基础操作中图片的读取与写出怎么进行

今天给大家介绍一下OpenCV基础操作中图片的读取与写出怎么进行。,文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。

1、进行图片读取的函数是:cv2.imread

cv2.imread函数语法如下:

cv2.imread(filename,flag=1)

cv2.imread函数的参数解释:

filename:所要读取图片的相对地址(与文件中open函数的读取方式一致)

flag:设置读取的格式,默认为1,表示按照BGR三通道的方式进行读取;如果为0,则以灰度图单通道的方式读取。

2、图片保存的函数cv2.imwrite:

cv2.imwrite函数语法:

cv2.imwrite(filename,img)

cv2.imwrite函数参数解释

filename:要保存图片的名字,程序的相对地址。

img:要保存的图片矩阵形式。

程序功能:将.py文件夹中的GBR格式图片转化成灰度图。

程序演示:

程序代码:

import cv2import numpy as npImg=cv2.imread('1.jpg',0)cv2.imwrite('1.jpg',Img)

如果想要改变图片的格式,也可以在保存图片时,将.jpg改为.png

这样在程序运行结束后在.py文件中会发现一张与1.jpg同样的图片1.png。

import cv2import numpy as npImg=cv2.imread('1.jpg',0)cv2.imwrite('1.png',Img)

这无非有是一种很好的图片格式转化的方法。

3、图片的显示函数cv2.imshow

图片展示函数:cv2.imshow

函数cv2.imshow的语法:

cv2.imshow(name,img)

cv2.imshow函数的参数解释:

name:展示窗口的名字

img:图片的矩阵形式

图片延时函数cv2.waitKey

函数cv2.waitKey语法

cv2.waitKey(time)

cv2.waitKey函数参数解释:

time表示等待的时间,单位为毫秒。

这个函数可以这样理解,在time时间内,计算机会等待我们键盘上的命令,如果在time时间内程序没有等到按键指令,他会自动进入下一帧。因为这里是图片,没有下一帧,所以会自动关闭窗口。

这里需要注意的是,如果我们把time置为0,并不是等待0毫秒后进入下一帧,而是停止在当前帧,有按键才会进入下一帧,所以显示单张图片时,通常用

cv2.waitKey(0);

代码示例:

import cv2import numpy as npimg=cv2.imread('1.jpg',cv2.IMREAD_COLOR)cv2.imshow('image',img)#为了图片长久的保存在程序窗口中,再加一个延时函数cv2.waitKey(0);cv2.imwrite('ba_ck_.png',img)#如果使用了cv2.imshow函数,下面一定要跟着一个摧毁窗口的函数cv2.destroyAllWindows()

程序改进(1):

上面这个程序中,显示完图片后,按下键盘上任意键,图片都会关闭。如果我们向按下特定建关闭程序的话,可以通过一个if语句来判断。如果按的不是q键,就一直处于while循环中,知道我们按下q键。

import cv2import numpy as npimg=cv2.imread('1.jpg',cv2.IMREAD_COLOR)cv2.imshow('image',img)while 1:    if cv2.waitKey(0)==ord('q'):        break    else:        pass#continuecv2.imwrite('ba_ck_.png',img)#如果使用了cv2.imshow函数,下面一定要跟着一个摧毁窗口的函数cv2.destroyAllWindows()

程序改进(2):

上述程序中,在我们按下q退出显示之后,程序会自动保存,若果我们想按下q直接退出,按下s退出并保存,需要再加一个if条件语句。

import cv2import numpy as npimg=cv2.imread('1.jpg',cv2.IMREAD_COLOR)cv2.imshow('image',img)while 1:    if cv2.waitKey(0)==ord('q'):        break    if cv2.waitKey(0)==ord('s'):        cv2.imwrite('ba_ck_.png',img)        break#如果使用了cv2.imshow函数,下面一定要跟着一个摧毁窗口的函数cv2.destroyAllWindows()

附、OpenCV:读取图片总结

在敲这个代码的时候,犯了很多错误,一直以为是配置出了问题,然后一直在排查配置,结果是路径方式错误 ,,把 Mat img = imread("C:\\Users\\sq.fu\\Desktop\\pic.jpg"); 这句写成了 Mat img = imread("C:\\Users\\sq.fu\\Desktop pic.jpg"); ,还好最后找出来了

#include   #include   #include   #include     using namespace cv;    void main( )  {      Mat img = imread("C:\\Users\\sq.fu\\Desktop\\pic.jpg");  //  Mat img = imread("C:\\Users\\sq.fu\\Desktop\\pic.jpg");       namedWindow("test");     imshow("test",img);      waitKey(100);  }

以上就是OpenCV基础操作中图片的读取与写出怎么进行的全部内容了,更多与OpenCV基础操作中图片的读取与写出怎么进行相关的内容可以搜索之前的文章或者浏览下面的文章进行学习哈!相信小编会给大家增添更多知识,希望大家能够支持一下!

图片 函数 程序 参数 方式 格式 语法 跟着 解释 基础 代码 内容 文件 文章 时间 名字 地址 形式 按键 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳市人人互联网科技有限公司 科技和互联网公司 互联网下的科技发展 互联网科技的 杭州互联网科技公司 腾讯科技 互联网女皇 融势互联网科技 碳银互联网科技有限公司 华中科技有哪些互联网大佬 贵州叶脉互联网科技有限公司所属行业 互联网金融科技展 西安小鹰速贷互联网科技有限公司 爱医互联网络科技 无锡工业互联网科技有限公司 南通创西澳互联网科技有限公司 黑云互联网科技有限公司 西安有哪些互联网高科技企业 版纳互联网科技选哪家 盐城市攀科互联网科技有限公司 互联网科技大佬云集 博彦科技互联网金融 上海卓越科技互联网 中关村互联网 科技集团 金融科技创新监管互联网金融 沐思想互联网科技有限公司 陕西云淼互联网科技公司 互联网高科技行业有哪些企业 马化腾互联网科技教学 知域互联网科技有限公司官网 广州全民伙伴互联网科技有限公司
0