OpenCV - 圖像處理基礎

OpenCV中的C++類和函數都是定義在命名空間cv之內的,因此可以在頭文件中加上usingnamespace cv;這一句,方便編寫操作。

#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;


int main()
{
	Mat image = imread("C:\\Users\\Lyh\\Desktop\\3.jpg");//使用imread函數從桌面讀入一張圖片(Mat類似於C中的int,用來定義一個類)
	imshow("原圖", image);//在"原圖"窗口顯示出讀入的圖片
	Mat cyimage, cvimage, blimage, eroimage;

	blur(image, blimage, Size(5, 5));//用blur函數進行均值濾波操作,操作後的圖片存在blimage中
	imshow("模糊效果圖", blimage);

	Mat q = getStructuringElement(MORPH_RECT, Size(10, 10));
	//用變量q來存儲getStructuringElement函數獲得的返回值(返回指定形狀和尺寸的結構元素)
	erode(image, eroimage, q);//用erode函數進行腐蝕操作,操作後的圖片存在eroimage中
	imshow("腐蝕效果圖", eroimage);

	cvtColor(image, cvimage, CV_BGR2GRAY);//用cvtColor函數將原圖轉換成灰度圖像,操作後的圖片存在cvimage中
	imshow("灰度效果圖", cvimage);

	blur(cvimage, cyimage, Size(3, 3));
	Canny(cyimage, cyimage, 3, 9, 3);//用canny函數進行邊緣檢測,操作後的圖片存在cyimage中
	imshow("邊緣效果圖", cyimage);
	waitKey(0);
	return 0;
}

編譯運行後的原圖以及圖像處理效果圖!




發佈了73 篇原創文章 · 獲贊 276 · 訪問量 84萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章