图片读写与展示

imread()

CV_EXPORTS_W Mat imread( const String& filename, int flags = IMREAD_COLOR );
  • filename 图片绝对\相对路径
  • flags 读取方式

imread中可选的flags

enum ImreadModes { //⭐标常用IMREAD_UNCHANGED            = -1, //保留alpha通道 ⭐IMREAD_GRAYSCALE            = 0,  //按灰度图像提取 ⭐IMREAD_COLOR                = 1,  //彩色 ⭐IMREAD_ANYDEPTH             = 2,  //深度图(16\32bit)如果不是深度图就8bit ⭐IMREAD_ANYCOLOR             = 4,  //彩色 ⭐IMREAD_LOAD_GDAL            = 8,  //没用过IMREAD_REDUCED_GRAYSCALE_2  = 16, //砍半加载灰度图IMREAD_REDUCED_COLOR_2      = 17, //砍半加载彩色图IMREAD_REDUCED_GRAYSCALE_4  = 32, //四分之一加载灰度图IMREAD_REDUCED_COLOR_4      = 33, //四分之一加载彩色图IMREAD_REDUCED_GRAYSCALE_8  = 64, //八分之一加载灰度图IMREAD_REDUCED_COLOR_8      = 65, //八分之一加载彩色图IMREAD_IGNORE_ORIENTATION   = 128 //没用过};

imwrite()

CV_EXPORTS_W bool imwrite( const String& filename, InputArray img,const std::vector<int>& params = std::vector<int>());
  • filename 图片绝对\相对路径
  • img 图片
  • params 保存选项

namedWindow()

CV_EXPORTS_W void namedWindow(const String& winname, int flags = WINDOW_AUTOSIZE);
  • winname 定义窗口名
  • flags 窗口属性

namedWindow中可选的flags

enum WindowFlags {WINDOW_NORMAL     = 0x00000000, //任意大小WINDOW_AUTOSIZE   = 0x00000001, //固定大小固定尺寸WINDOW_OPENGL     = 0x00001000, //OpenGL支持WINDOW_FULLSCREEN = 1,          //全屏(骗人).WINDOW_FREERATIO  = 0x00000100, //扩展WINDOW_KEEPRATIO  = 0x00000000, //固定比例(并不固定)WINDOW_GUI_EXPANDED=0x00000000, //工具栏和状态栏(并没有但可以加)WINDOW_GUI_NORMAL = 0x00000010, //!< old fashious way 经典(不太经典)};

cvtColor()

CV_EXPORTS_W void cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 );
  • src 输入图像
  • dst 转换结果
  • code 转换方式(有很多选择,可以自己看枚举)

简单代码

# include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>using namespace std;
using namespace cv;int main()
{Mat src = imread("2.jpg",IMREAD_COLOR);Mat output_img;if (src.empty()) return -1;cvtColor(src, output_img, COLOR_BGR2GRAY);namedWindow("load&save demo", WINDOW_AUTOSIZE);namedWindow("Out put img", WINDOW_GUI_NORMAL);imshow("load&save demo", src);imshow("Out put img", output_img);waitKey(0);imwrite("2.tif", src);return 0;
}

<LearnOpenCV(1) C++>图片读写相关推荐

  1. 图像处理-STB图片读写

    图片读写 stb 在matlab中利用imread和imwrite来对图片进行读写,在c++中推荐一个很好用的库–stb,这个库只需要一个头文件,就可以对多种类型的图片进行解析和保存,并且使用方便,接 ...

  2. Python各类图像库的图片读写方式总结

    最近在研究深度学习视觉相关的东西,经常需要写python代码搭建深度学习模型.比如写CNN模型相关代码时,我们需要借助python图像库来读取图像并进行一系列的图像处理工作.我最常用的图像库当然是op ...

  3. pytorch之各类图像库的图片读写方式

    主流Python图像库: opencv PIL(pillow) matplotlib.image scipy.misc skimage Table of Contents opencv: cv2.im ...

  4. Python如何打开文件、进行读写以及图片读写操作

    一.文件操作 作用: 将数据持久化 将数据从瞬时状态转换为持久状态 (一)打开文件 open(参数1,参数2,参数3-) 打开文件,打开的是一个文件对象 参数1:路径和文件名 参数2:文件打开的方式 ...

  5. TIFF库的tif图片读写

    tif图片的读写 #include<tiffio.h>//图片读取,16为图片和8位图片一样,将buffer改成8位的即可 bool TDatTransform::LoadSliceIma ...

  6. C++ OpenCV视频摄像头图片读写操作

    总结一下C++语言下OpenCV的基本读写操作. 头文件导入和CMakeLists.txt #include<opencv2/opencv.hpp> #include<iostrea ...

  7. OpenCV学习笔记--第一个OpenCV程序:图片读写显示

    配置使用OpenCV库 在上节中我们已经生成了可用于VS2015或者QT5 with MinGW开发的OpenCV库,接下来我们写一个简单的程序测试一下. 因为我电脑上装了QT而没有装VS2015,所 ...

  8. android 图片读写,Android系统中图片的读写

    读取手机图片: Bitmap bmp=BitmapFactroy.decodeFile("/sdcard/xxx.png"); imageview.setImageBitmap(b ...

  9. python 图片读写_Python各种图像库的图像的基本读写方式

    目前主流的图像库有几下几种:OpenCV 2. PIL(Pillow) 3. matplotlib.image 4. skimage 5. scipy.misc 结论:以上图片库中当属OpenCV最为 ...

最新文章

  1. 赠书 | 人工智能识万物:卷积神经网络的前世今生
  2. 深入理解内存(3):内存交换技术,虚拟内存
  3. IOS NSArray 倒序
  4. Myeclipse2015把web项目添加至tomcat中,添加列表中却没有想要添加的项目
  5. 2021公益数字化研究报告
  6. cnc程序串连软件哪个好用_排班软件哪个好用?
  7. android一般会重载7个方法,《Android技术应用》答案(2013年)
  8. GC DevKit 快速入门
  9. ValueError: Argument must be a dense tensor:... got shape [6, 60, 160, 3], but wanted [6].
  10. 基于行政区划的百度个性化地图及遥感影像栅格瓦片下载合成器(可叠加行政区划,适合用作科研遥感影像附图)
  11. 英语句式参考纯享版 - 主语从句 - 表语从句
  12. android裁剪图片不清晰,Android 拍照裁剪图片不清晰解决办法
  13. 浏览器被劫持怎么解决?关于浏览器被劫持主页的处理方法
  14. 取消管理员取得所有权_win10如何获得管理员所有权?
  15. 操作系统4————进程同步
  16. 小程序二维码需要发布正式版后才能获取到_很意外!iOS 14.1正式版已出,修复多处问题...
  17. 抖音作品怎么快速上热门推荐?如何上精选
  18. java实现多元线性回归
  19. BCH编码(15,5)1bit串行,5bit并行
  20. [附源码]java毕业设计基于JavaWeb生鲜O2O订购平台

热门文章

  1. CAD —— 二次开发环境搭建(arx)
  2. 19 推荐一款连汤都不剩的家常烧鱼方法!
  3. Linux服务器的关机和重启命令
  4. CentOS 7 隐藏任务栏和顶栏
  5. 关于淘宝秒杀收藏夹代金券活动python代码解决方法
  6. maven快速入门番外篇——Eclipse下载GitHub上FastDFS-Client客户端源码并转化成maven工程以及打包到本地maven仓库
  7. Linux 安装最新版QQ或TIM 免安装 点击即用
  8. 黑盒测试用例设计方法-边界值分析法
  9. [附源码]Python计算机毕业设计SSM基于的装修设计管理系统(程序+LW)
  10. 用PL/SQL语言编写一程序,实现按部门分段(6000以上、(6000,3000)、3000元以下)统计各工资段的职工人数、以及各部门的工资总额(工资总额中不包括奖金)