这个部分就是对基础熟悉一下,熟悉一下openCV中各种API的使用额。。。
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
Mat src;
src = imread("E:/vcprojects/images/test1.JPG");
if (src.empty())
{
printf("could not load image...");
return -1;
}
namedWindow("input", CV_WINDOW_NORMAL);
imshow("input", src);
/*
Mat dst;
dst = Mat(src.size(), src.type());
dst = Scalar(127, 0, 255);
namedWindow("output", CV_WINDOW_NORMAL);
imshow("output", dst);
*/
//Mat dst = src.clone();
Mat dst;
//src.copyTo(dst);
namedWindow("output", CV_WINDOW_NORMAL);
cvtColor(src, dst, CV_BGR2GRAY);
printf("input image channals:%d\n", src.channels());
printf("output image channals:%d\n", dst.channels());
int cols = dst.cols;
int rows = dst.rows;
printf("row:%d cols:%d\n", rows, cols);
const uchar* firstRow = dst.ptr<uchar>(0);
printf("first pixel value:%d\n", *firstRow);
Mat M(3, 3, CV_8UC3, Scalar(0, 0, 255));
//cout << "M=" << endl << M << endl;
Mat m1;
m1.create(src.size(), src.type());
m1 = Scalar(0, 0, 255);
Mat cscr;
Mat kernel = (Mat_<float>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);
filter2D(src, cscr, -1, kernel);
Mat m2 = Mat::zeros(src.size(), src.type());
imshow("output", m2);
waitKey(0);
return 0;
}