// 引入OpenCV头文件#include<opencv2/opencv.hpp>// 使用OpenCV命名空间cvusingnamespace cv;intmain(){
Mat image =imread("E:\\OpenCV_learn\\1.bmp");//载入图像 imshow("【原始图】", image);//显示图像waitKey(0);destroyAllWindows();//如果之前没有释放掉内存的操作的话destroyallWIndows会释放掉被那个变量占用的内存return0;}
2.图像腐蚀:用图像中暗色的部分腐蚀掉高亮的部分
// 引入OpenCV头文件#include<opencv2/highgui/highgui.hpp>//OpenCV highgui模块头文件#include<opencv2/imgproc/imgproc.hpp>//OpenCV图像处理头文件// 使用OpenCV命名空间cvusingnamespace cv;intmain(){
Mat image =imread("E:\\OpenCV_learn\\1.bmp");//载入图像 imshow("【原始图】", image);//显示图像
Mat element =getStructuringElement(MORPH_RECT,Size(15,15));//指定形状大小的内核矩阵
Mat dstImage;erode(image, dstImage, element);//图像腐蚀操作imshow("【效果图】",dstImage);waitKey(0);destroyAllWindows();return0;}
3.图像模糊:均值滤波
// 引入OpenCV头文件#include<opencv2/highgui/highgui.hpp>//OpenCV highgui模块头文件#include<opencv2/imgproc/imgproc.hpp>//OpenCV图像处理头文件usingnamespace cv;// 使用OpenCV命名空间cvintmain(){
Mat srcImage =imread("E:\\OpenCV_learn\\1.bmp");//载入图像 imshow("【原始图】", srcImage);//显示图像
Mat dstImage;blur(srcImage, dstImage,Size(7,7));//进行均值滤波imshow("【效果图】",dstImage);waitKey(0);destroyAllWindows();return0;}
4.Canny边缘检测
// 引入OpenCV头文件#include<opencv2/opencv.hpp>//OpenCV highgui模块头文件#include<opencv2/imgproc/imgproc.hpp>//OpenCV图像处理头文件usingnamespace cv;// 使用OpenCV命名空间cvintmain(){
Mat srcImage =imread("E:\\OpenCV_learn\\1.bmp");//载入图像 imshow("【原始图】", srcImage);//显示图像
Mat dstImage,edge,grayImage;//参数定义
dstImage.create(srcImage.size(), srcImage.type());//创建与src同类型和大小的矩阵cvtColor(srcImage, grayImage, COLOR_BGR2GRAY);//将原图转换为灰度图像blur(grayImage, edge,Size(3,3));//先使用3x3内核来降噪Canny(edge, dstImage,3,9,3);//使用Canny检测算子imshow("【效果图】",dstImage);waitKey(0);destroyAllWindows();return0;}