c/c++语言开发共享OpenCV基础操作指南之图片的读取与写出

目录1、进行图片读取的函数是:cv2.imread2、图片保存的函数cv2.imwrite:3、图片的显示函数cv2.imshow附、opencv:读取图片总结总结1、进行图片读取的函数是:cv2.i

目录
  • 1、进行图片读取的函数是:cv2.imread
  • 2、图片保存的函数cv2.imwrite:
  • 3、图片的显示函数cv2.imshow
  • 附、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格式图片转化成灰度图。 

 程序演示:

OpenCV基础操作指南之图片的读取与写出

OpenCV基础操作指南之图片的读取与写出

 程序代码:

import cv2  import numpy as np  img=cv2.imread('1.jpg',0)  cv2.imwrite('1.jpg',img)

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

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

OpenCV基础操作指南之图片的读取与写出

 

import cv2  import numpy as np  img=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 cv2  import numpy as np  img=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 cv2  import numpy as np  img=cv2.imread('1.jpg',cv2.imread_color)  cv2.imshow('image',img)  while 1:      if cv2.waitkey(0)==ord('q'):          break      else:          pass#continue  cv2.imwrite('ba_ck_.png',img)  #如果使用了cv2.imshow函数,下面一定要跟着一个摧毁窗口的函数  cv2.destroyallwindows()

程序改进(2):

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

import cv2  import numpy as np  img=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 <iostream>    #include <opencv2corecore.hpp>    #include <opencv2imgprocimgproc.hpp>    #include <opencv2highguihighgui.hpp>        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基础操作指南之图片的读取与写出的文章就介绍到这了,更多相关opencv图片的读取与写出内容请搜索<计算机技术网(www.ctvol.com)!!>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<计算机技术网(www.ctvol.com)!!>!

需要了解更多c/c++开发分享OpenCV基础操作指南之图片的读取与写出,都可以关注C/C++技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/1038165.html

(0)
上一篇 2022年1月26日
下一篇 2022年1月26日

精彩推荐