04302017OpenCV学习
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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学习的主要内容,如果未能解决你的问题,请参考以下文章
youcans 的 OpenCV 学习课1.2 编译生成带有 OpenCV_contrib 的 OpenCV 库