基于c++的opencv(三)OpenCV示例程序

简单示例程序

一、图像显示

#include

using namespace cv;

void main()
{
	Mat srcImage=imread("1.jpg");//载入图像
	imshow("图像",srcImage);//显示图像
	waitKey(6000);//等待
}

二、图像腐蚀

#include
#include

using namespace cv;

int main()
{
	//载入图像
	Mat srcImage=imread("1.jpg");
	//显示图像
	imshow("图像腐蚀操作”,srcImage);
	//腐蚀操作
	Mat element=getStructuringElement(MORPH_RECT,Size(15,15));
	Mat dstImage;
	erode(srcImage,dstImage,element);
	//显示效果图
	imshow("腐蚀操作“,dstImage);
	waitKey(6000);
	return 0;
}

三、图像模糊

#include
#include

using namespace cv;

int main()
{
	//载入图像
	Mat srcImage=imread("1.jpg");
	//显示图像
	imshow("原图",srcImage);
	//进行均值滤波操作
	Mat dstImage;
	blur(srcImage,dstImage,Size(7,7));
	//显示结果
	imshow("均值滤波",dstImage);
	waitKey(6000);
}

四、边缘检测

#include
#include

using namespace cv;

int main()
{
	//载入图像
	Mat srcImage=imread("1.jpg");
	//显示图像
	imshow("原图",srcImage);
	Mat dstImage,edge,grayImage;
	//创建与原图类型和大小相同的矩阵
	dstImage.create(srcImage.size(),srcImage.type());
	//将原图转换为灰度图像
	cvtColor(srcImage,grayImage,COLOR_BGR2GRAY);
	//降噪
	blur(grayImage,edge,Size(3,3));
	//运行Canny算子
	Canny(edge,edge,3,9,3);
	//显示结果
	imshow("Canny边缘检测",edge);
	waitKey(6000);
	return 0;
}

五、读取并播放视频

#include

using namespace cv;

int main()
{
	//读入视频
	VideoCapture capture("1.avi");
	//循环显示每一帧
	while(1)
	{
		Mat frame;//定义一个Mat变量,用于存储每一帧的图像
		capture>>frame;//读取当前帧
		imshow("读取视频",frame);//显示当前帧
		waitKey(6000);//延时6000ms
		}
		return 0;
}

六.调用摄像头采集图像

#include

using namespace cv;

int main()
{
	//从摄像头读入视频
	VideoCapture capture(0);
	//循环显示每一帧
	while(1)
	{
		Mat frame;//定义一个Mat变量,用于存储每一帧的图像
		capture>>frame;//读取当前帧
		imshow("读取视频”,frame);//显示当前帧
		waitKey(6000);//延时6000ms
		}
		return 0;
}

你可能感兴趣的:(c++,OpenCV,opencv,图像处理)