养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

OPENCV入门教程四:imread函数读入图像

时间:2024-10-15 15:24:55

学习imread()函数正确读入图像的方式,imread()用不对,对以后的图像处理有很大的影响。有时候图片是灰度图,但是你用imread()读入后它就变成了彩色图,只不过它的三个通道的值是一样的。灰度图是单通道的。彩色图是三通道的(B,G,R),但是彩色图像的三通道的值相同时它也是灰色的。

工具/原料

visualstudio2015

opencv2.4.13

方法/步骤

1、函数原型:Matimread(constString&filename,intflags=IMREAD_COLOR);第一个参数是图片的绝对地址第二个参数表示图片读入的方式(flags可以缺省,缺省时flags=1,表示以彩色图片方式读入图片)flags>0时表示以彩色方式读入图片flags=0时表示以灰度图方式读入图片flags<0时表示以图片的本来的格式读入图片

OPENCV入门教程四:imread函数读入图像

2、打开VS2015选择文件,然后新建项目,艽鹤绚趣选择新建一个Win32控制台应用程序,并选择空项目,并在源文件中添加一个名为泠贾高框opencv的CPP文件,并添加一下代码#include"cv.h"//OpenCV文件头#include"highgui.h"#include"cvaux.h"#include"cxcore.h"#include"opencv2/opencv.hpp"#include"opencv2/imgproc.hpp"#include<iostream>#include<string>usingnamespacecv;usingnamespacestd;intmain(){ Matimage1,image2,image3,image4,image5,image6;//Mat是OpenCV最基本的数据结构,这是定义一个图像矩阵类型 image1=imread("C:\\Users\\lidabao\\Desktop\\Lena.bmp");//读入图片数据 cout<<"原图1的通道数:"<<image1.channels()<<endl; namedWindow("原图1",WINDOW_AUTOSIZE);//创建一个窗口 imshow("原图1",image1);//在窗口中显示图片 image2=imread("C:\\Users\\lidabao\\Desktop\\Lena1.bmp");//读入图片数据 cout<<"原图2的通道数:"<<image2.channels()<<endl; namedWindow("原图2",WINDOW_AUTOSIZE);//创建一个窗口 imshow("原图2",image2);//在窗口中显示图片 image3=imread("C:\\Users\\lidabao\\Desktop\\Lena.bmp",0);//读入图片数据 cout<<"原图3的通道数:"<<image3.channels()<<endl; namedWindow("原图3",WINDOW_AUTOSIZE);//创建一个窗口 imshow("原图3",image3);//在窗口中显示图片 image4=imread("C:\\Users\\lidabao\\Desktop\\Lena1.bmp",0);//读入图片数据 cout<<"原图4的通道数:"<<image4.channels()<<endl; namedWindow("原图4",WINDOW_AUTOSIZE);//创建一个窗口 imshow("原图4",image4);//在窗口中显示图片 image5=imread("C:\\Users\\lidabao\\Desktop\\Lena.bmp",-1);//读入图片数据 cout<<"原图5的通道数:"<<image5.channels()<<endl; namedWindow("原图5",WINDOW_AUTOSIZE);//创建一个窗口 imshow("原图5",image5);//在窗口中显示图片 image6=imread("C:\\Users\\lidabao\\Desktop\\Lena1.bmp",-1);//读入图片数据 cout<<"原图6的通道数:"<<image6.channels()<<endl; namedWindow("原图6",WINDOW_AUTOSIZE);//创建一个窗口 imshow("原图6",image6);//在窗口中显示图片 waitKey(0);//等待一次按键,程序结束 return0;}

OPENCV入门教程四:imread函数读入图像

3、C:\Users\lidabao\Desktop\Lena.bmp这是一张彩色图片C:\Users\lidabao\Desktop\Lena1.bmp这是一张灰度图片

OPENCV入门教程四:imread函数读入图像

4、螅岔出礤在属性页中选择VC++目录在包含目录中添加D:\opencv\build\includeD:\opencv\build\include\opencvD:\opencv\bui造婷用痃ld\include\opencv2这三个文件夹在库目录中添加D:\opencv\build\x64\vc12\libD:\opencv\build\x64\vc12\staticlib这两个文件夹在属性页中选择链接器,在链接器中点击输入,在附加依赖项中添加opencv_ts300d.libopencv_world300d.lib这两个东西

OPENCV入门教程四:imread函数读入图像

5、程序运行结果

OPENCV入门教程四:imread函数读入图像

© 一点知识