OPENCV-2 学习笔记
生活随笔
收集整理的這篇文章主要介紹了
OPENCV-2 学习笔记
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、圖像顯示
#include<opencv2/opencv.hpp> using namespace cv; //使用命名空間 void main(){Mat srcImage = imread('1.jpg');//載入圖像imshow('圖像標(biāo)題',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); //腐蝕函數(shù)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)); //進(jìn)行濾波操作imshow("效果圖", dsImage);waitKey(0);return 0; }4、邊緣檢測(cè)
#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;//創(chuàng)建與原圖同類型和大小的矩陣dstdsImage.create(srcImage.size(), srcImage.type());//將原圖轉(zhuǎn)化為灰度圖像cvtColor(srcImage, grayImage, CV_BGR2GRAY);//使用3*3內(nèi)核降噪blur(grayImage, edge, Size(3, 3));//運(yùn)行canny算子Canny(edge,edge,3,9,3);imshow("效果圖", edge);waitKey(0);return 0; }5、讀取視頻或調(diào)用攝像頭
int main() {//初始化VideoCapture capture("E://1.avi");//調(diào)用攝像頭//VideoCapture capture(0);//循環(huán)每一幀,相當(dāng)一張圖while (1) {Mat frame;capture >> frame;//存儲(chǔ)每一幀imshow("視頻", frame);waitKey(50);//50ms}return 0; }6、寫視頻文件
int main() { IplImage *iplImg = cvLoadImage("/home/huanglei/wr.jpg", 1); IplImage *iplImgNew = cvCreateImage(cvSize(320,240),8,3) ; //改變圖片大小適應(yīng)視頻 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); /* * 逐幀讀取視頻,并保存到另外一個(gè)視頻文件中 */ 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; }總結(jié)
以上是生活随笔為你收集整理的OPENCV-2 学习笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java符号引用 直接引用_Java -
- 下一篇: OPENCV-3 学习笔记