首页 > 代码库 > 04302017OpenCV学习

04302017OpenCV学习

Mat 函数用于新建一副图像,当使用赋值或拷贝函数时,不会拷贝图像的本身,反而会将图像的信息头和和对象指针传递给所赋值的对象,如果要拷贝一副图像可以使用 clone() 或者 copyTo() 函数 。 

// 图像的读取、修改、写入磁盘  

#include "stdafx.h"
#include<cv.h>
#include<highgui.h>
#include<opencv2/core/core.hpp>
#include<opencv2/opencv.hpp>
#include<opencv2/imgproc.hpp>

using namespace cv;

int main(int argc, char** agrv)

{

if (argc!= 2)    // 该语句会造成程序中断,返回-1;
{
printf("useage: %s <imagefile>\n", argv[0]);
return -1;
}
char* imageName = argv[0];         
Mat image;     //创建一副图像
image = imread("C:\\Users\\Jameswang\\Desktop\\DOC\\images\\park.jpg",CV_LOAD_IMAGE_COLOR);  // 设置读取图片的格式为彩色图片  int flags = 1; 
if (!image.data)    // 如果image里面没有数据就返回-1; 
{
printf("No image data \n");
return -1;
}
Mat gray_image;
cvtColor(image, gray_image, CV_BGR2GRAY);    // 将彩色图像转换为灰色图像;gray_image为控制台数据;
imwrite("C:/Users/Jameswang/Desktop/DOC/images/Grat_Image.jpg", gray_image);  //将gray_image 写入磁盘;
namedWindow(imageName, CV_WINDOW_AUTOSIZE);    //生成一个窗口;
namedWindow("Gray image", CV_WINDOW_AUTOSI  ZE);  // 生成另外一个窗口;
imshow(imageName, image);  //将image 图片显示在 imageName 的窗口里;
imshow("Gray image", gray_image);  // 将gray_image图像显示在Gray Image 窗口里; 
waitKey(0);

}

04302017OpenCV学习