1、图像显示
#include<opencv2/opencv.hpp>
using namespace cv;
void main(){Mat srcImage = imread('1.jpg' );imshow('图像标题' ,srcImage);waitKey(0 );
}
2、图像腐蚀
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace std ;
using namespace cv;
int main()
{Mat srcImage = imread("E:\\4.JPG" );imshow("原图--腐蚀操作" , srcImage);Mat element = getStructuringElement(MORPH_RECT, Size(15 , 15 ));Mat dsImage;erode(srcImage, dsImage, element); imshow("效果图" , dsImage);waitKey(0 );return 0 ;
}
3、图像模糊
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace std ;
using namespace cv;int main()
{Mat srcImage = imread("E:\\4.JPG" );imshow("原图--腐蚀操作" , srcImage);Mat dsImage;blur(srcImage, dsImage, Size(7 , 7 )); imshow("效果图" , dsImage);waitKey(0 );return 0 ;
}
4、边缘检测
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace std ;
using namespace cv;int main()
{Mat srcImage = imread("E:\\4.JPG" );imshow("原图--腐蚀操作" , srcImage);Mat dsImage,grayImage,edge;dsImage.create(srcImage.size(), srcImage.type());cvtColor(srcImage, grayImage, CV_BGR2GRAY);blur(grayImage, edge, Size(3 , 3 ));Canny(edge,edge,3 ,9 ,3 );imshow("效果图" , edge);waitKey(0 );return 0 ;
}
5、读取视频或调用摄像头
int main()
{VideoCapture capture("E://1.avi" ) ;while (1) {Mat frame ;capture >> frame ;imshow("视频" , frame) ;waitKey(50 ) ;}return 0;
}
6、写视频文件
int main() { IplImage *iplImg = cvLoadImage("/home/huanglei/wr.jpg" , 1 ); IplImage *iplImgNew = cvCreateImage(cvSize(320 ,240 ),8 ,3 ) ; cvResize(iplImg,iplImgNew,CV_INTER_LINEAR) ; CvVideoWriter* video = cvCreateVideoWriter("/home/huanglei/tree1.avi" , CV_FOURCC('P' , 'I' , 'M' , '1' ), 20 , cvSize(iplImgNew->width, iplImgNew->height), 1 ); CvCapture *cap ; cap = cvCreateFileCapture("/home/huanglei/tree.avi" ); IplImage *imgVideo ; int q ; while (imgVideo = cvQueryFrame(cap )) { q = cvWriteFrame(video, imgVideo); } int i; for (int x = 0 ; x < 50 ; x++) { i = cvWriteFrame(video, iplImgNew); } if (video) { cvReleaseVideoWriter(&video); cvReleaseImage(&imgVideo); cvReleaseImage(&imgVideo); cvReleaseImage(&iplImg); } return 0 ;
}