代码:main.cpp
/*
Time:
2016.12.07
*
Author:
WJ
*
Function:
函数imread()
read
a
image
*
Reference:
*
Opencv+
qt5.1
完美配置
-
脚踏实地
-
博客频道
-
CSDN.NET
*
http://blog.csdn.net/xiaojidan2011/article/details/9421193
*/
#include
<QCoreApplication>
#include
<opencv2/core/core.hpp>
#include
<opencv2/highgui/highgui.hpp>
#include
"cv.h"
#include
"cxcore.h"
#include
"highgui.h"
//#include
"ui_mainwindow.h"
using
namespace
cv;
int
main(
int
argc,
char
*argv[])
{
QCoreApplication
a(argc,
argv);
//read
a
image
Mat
image=
imread(
"F:\QTcodes\QTcreator\OpenCV_001\1.png");
//
Mat
image=
imread("F:/QTcodes/QTcreator/OpenCV_001/1.png");
//
avoid
mem
error
if
(image.empty())
{
namedWindow(
"can
not
find
image
:
1.png");
waitKey(
5000);
return
-
1;
}
//creat
image
windows
named
"My
Image"
namedWindow(
"My
Image",
1);
//show
the
image
on
window
imshow(
"My
Image",image);
//wait
key
for
5000ms
waitKey(
0);
return
a.exec();
}
pro文件
QT
+=
core
QT
-=
gui
CONFIG
+=
c++11
TARGET
=
OpenCV_001
CONFIG
+=
console
CONFIG
-=
app_bundle
TEMPLATE
=
app
SOURCES
+=
main.cpp
INCLUDEPATH+=
E:\opencv-2.4.13\opencv\build\
include\opencv\
E:\opencv-2.4.13\opencv\build\
include\opencv2\
E:\opencv-2.4.13\opencv\build\
include
LIBS+=E:\opencv-2.4.13\opencv\lib\libopencv_calib3d249.dll.a\
E:\opencv-2.4.13\opencv\lib\libopencv_contrib249.dll.a\
E:\opencv-2.4.13\opencv\lib\libopencv_core249.dll.a\
E:\opencv-2.4.13\opencv\lib\libopencv_features2d249.dll.a\
E:\opencv-2.4.13\opencv\lib\libopencv_flann249.dll.a\
E:\opencv-2.4.13\opencv\lib\libopencv_gpu249.dll.a\
E:\opencv-2.4.13\opencv\lib\libopencv_highgui249.dll.a\
E:\opencv-2.4.13\opencv\lib\libopencv_imgproc249.dll.a\
E:\opencv-2.4.13\opencv\lib\libopencv_legacy249.dll.a\
E:\opencv-2.4.13\opencv\lib\libopencv_ml249.dll.a\
E:\opencv-2.4.13\opencv\lib\libopencv_objdetect249.dll.a\
E:\opencv-2.4.13\opencv\lib\libopencv_video249.dll.a
遇到的error
斜杠的方向错误。与windows 路径中的斜杠相反
reference里imread的各个参数如下:
Mat imread(const string& filename, int flags)
{
Mat img;
//创建一个变量
imread_(filename,flags,LOAD_MAT,&img);
//大多数功能由imread_()函数实现
return img;
}
C++:
Mat
imread
(
const string&
filename
, int
flags
=1
)
filename – Name of file to be loaded.要加载的文件的名称
flags –
Flags specifying the color type of a loaded image:指定加载的图像的颜色类型的标志
CV_LOAD_IMAGE_ANYDEPTH -
If set, return 16-bit/32-bit image when the input has the corresponding depth, otherwise convert it to 8-bit. 如果设置,当输入具有相应的深度时返回16位/ 32位图像,否则将其转换为8位。
CV_LOAD_IMAGE_COLOR -
If set, always convert image to the color one 如果设置,请始终将图像转换为
CV_LOAD_IMAGE_GRAYSCALE -
If set, always convert image to the grayscale one如果设置,请始终将图像转换为灰度图像
>0 Return a 3-channel color image.返回3通道彩色图像。
Note: In the current implementation the alpha channel, if any, is stripped from the output image. Use negative value if you need the alpha channel.注意在当前实现中,alpha通道(如果有)从输出图像中去除。 如果您需要Alpha通道,请使用负值。
=0 Return a grayscale image.返回灰度图像。
<0 Return the loaded image as is (with alpha channel).返回加载的图像(使用alpha通道)
Reference Links
Opencv+ qt5.1 完美配置 - 脚踏实地 - 博客频道 - CSDN.NET
http://blog.csdn.net/xiaojidan2011/article/details/9421193
【OpenCV】学习札记与源码分析: imread( )函数 - 综合
http://www.myexception.cn/other/1406789.html
openCV基础函数imread第二个参数 - qq764666379的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/haoyunchao/article/details/18325875
源码解析: Imread函数 - 松子茶的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/songzitea/article/details/11096287