实例代码:
#include //OpenCV头文件包含
using namespace cv;//命名空间
int main()
{
Mat img = imread("D:/practice/opencv3/imge/1.jpg");//读入图片
imshow("窗口", img);//显示图片,第一个为窗口名字,第二个为保存图片的Mat变量
waitKey(3000);//图片显示,单位为毫秒
//如果里面是3000,图片则会显示3秒,然后自动关闭;如果是0,图片则会一直显示
}
运行结果:
示例代码:
#include //opencv highgui模块头文件
#include //opencv 图像处理头文件
using namespace cv;//命名空间
int main()
{
//读取图片
Mat srcImage=imread("D:/practice/opencv3/imge/1.jpg");
//显示原图片
imshow("原始图片", srcImage);
//进行腐蚀操作
Mat element = getStructuringElement(MORPH_RECT,Size(15, 15));
Mat dsImage;
erode(srcImage, dsImage, element);
imshow("腐蚀之后的图片", dsImage);
waitKey(0);
}
运行结果:
示例代码:
#include
#include
using namespace cv;
//图像模糊:利用均值滤波,对图像进行模糊操作
int main()
{
//读入图片
Mat srcImage = imread("D:/practice/opencv3/imge/1.jpg");
//显示原始图片
imshow("原始图片", srcImage);
//进行均值滤波操作
Mat dsImage;
blur(srcImage, dsImage, Size(20,20));
imshow("模糊后图片", dsImage);
waitKey(0);
}
运行结果:
示例代码:
#include
#include
using namespace cv;
//图像边缘检测:首先载入图像,再将其转换为灰度图,再用blur函数对图像进行降噪处理,
//最后调用Canny算子对图像进行边缘检测
int main()
{
//读入图片
Mat srcImage = imread("D:/practice/opencv3/imge/1.jpg");
//显示原始图片
imshow("1.原始图片", srcImage);
//参数定义
Mat dstImage, edge, grayImage;
//创建与srcImage同类型和大小的矩阵dstImage
dstImage.create(srcImage.size(), srcImage.type());
//将原图转换为灰度图像
cvtColor(srcImage, grayImage, COLOR_BGR2GRAY);
//显示灰度图像
imshow("2.灰度图像", grayImage);
//先使用3x3内核降噪
blur(grayImage, edge, Size(3, 3));
//运行Canny算子
Canny(edge, edge, 3, 9, 3);
//显示边缘检测图像
imshow("3.边缘检测图像", edge);
waitKey(0);
}
运行结果:
示例代码:
#include
using namespace cv;
int main()
{
//读入视频
VideoCapture capture("D:/practice/opencv3/imge/luming.mp4");
//循环显示每一帧
while (1)
{
Mat frame;//定义一个Mat变量,用于存储每一帧的图像
capture >> frame;//读取当前帧
imshow("读取视频", frame);//显示当前帧
waitKey(30);//延时30ms
}
return 0;
}
示例代码:
#include
using namespace cv;
int main()
{
//读入视频
VideoCapture capture(0);//只需要将这里的文件名改为0,就表示调用摄像头
//循环显示每一帧
while (1)
{
Mat frame;//定义一个Mat变量,用于存储每一帧的图像
capture >> frame;//读取当前帧
imshow("读取视频", frame);//显示当前帧
waitKey(30);//延时30ms
}
return 0;
}
示例代码:
#include
using namespace cv;
int main()
{
//读入视频
VideoCapture capture(0);//只需要将这里的文件名改为0,就表示调用摄像头
Mat edge;
//循环显示每一帧
while (1)
{
Mat frame;//定义一个Mat变量,用于存储每一帧的图像
capture >> frame;//读取当前帧
imshow("1.读取视频", frame);//显示当前帧
//将原始图像转换为灰度图
cvtColor(frame, edge, COLOR_BGR2GRAY);
//使用3x3内核降噪(2x3+1=7)
blur(edge, edge, Size(7, 7));
//进行Canny边缘检测并显示
Canny(edge, edge, 0, 30, 3);
imshow("2.边缘检测后的视频", edge);
if (waitKey(30) > 0) break;
}
return 0;
}
运行结果: