参考:
1、https://docs.opencv.org/3.2.0/
2、https://github.com/opencv/opencv/
安装参考:
http://blog.csdn.net/poem_qianmo/article/details/19809337
使用的环境:
Windows10 x64
vs2015
opencv3.2.0
vs2015 安装插件 image watch
工具–>扩展和更新–>联机 搜索 image watch 安装 重启
视图–>其他窗口–>image watch 打开该窗口
Load and Display an Image
- Load an image (using cv::imread )
- Create a named OpenCV window (using
cv::namedWindow ) - Display an image in an OpenCV window (using cv::imshow )
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
//String imageName("../data/HappyFish.jpg"); // by default 使用String构造函数设置路径
//或
string imageName = "messi5.jpg";
if (argc > 1)
{
imageName = argv[1];
}
Mat image;
image = imread(imageName, IMREAD_COLOR); // Read the file
if (image.empty()) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl;
return -1;
}
namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display.
imshow("Display window", image); // Show our image inside it.
waitKey(0); // Wait for a keystroke in the window Zero means to wait forever
destroyAllWindows();
return 0;
}
//cmd 运行: xxx.exe "图像路径"
- core section, 库的基本定义部分
- highgui模块,因为这包含输入和输出操作的功能
- IMREAD_UNCHANGED (<0) 按原样加载图像(包括alpha通道(如果存在)
- IMREAD_GRAYSCALE ( 0) 以灰度格式图像加载
- IMREAD_COLOR (>0) BGR格式加载 (opencv彩色图像格式为BGR格式 而不是 RGB)
- WINDOW_AUTOSIZE是唯一支持的一个,如果你不使用Qt后端。 在这种情况下,窗口大小将占用显示的图像的大小。 不允许调整图像大小!
- WINDOW_NORMAL Qt你可以使用它来允许窗口调整大小。 图像将根据当前窗口大小自行调整大小。 通过使用| 您还需要指定是否希望图像保持其纵横比(WINDOW_KEEPRATIO)(WINDOW_FREERATIO)。
Load, Modify, and Save an Image
- 加载图像 cv::imread
- BGR到灰度转换 cv::cvtColor
- 保存图像到磁盘 (using cv::imwrite )
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv)
{
char* imageName = argv[1]; //图像路径
Mat image; //新建图像对象
image = imread(imageName, 1); //1 表示BGR格式读取
if (argc != 2 || !image.data) //image.empty()
{
printf(" No image data \n ");
return -1;
}
Mat gray_image;
cvtColor(image, gray_image, COLOR_BGR2GRAY); //颜色通道转换 BGR-->Gray
imwrite("../../images/Gray_Image.jpg", gray_image); //保存图像
namedWindow(imageName, WINDOW_AUTOSIZE); //新建窗口
namedWindow("Gray image", WINDOW_AUTOSIZE);
imshow(imageName, image); //与窗口对应
imshow("Gray image", gray_image);
waitKey(0); //0ms 表示无限等待 知道用户按下按键
destroyAllWindows(); //关闭所有窗口
return 0;
}
注:
- 在DEBUG模式下,只能存为BMP格式,选择JPG或PNG时,总是弹出异常
- 在RELEASE模式下,以上几种格式都行