Opencv简单应用(一)

一、读取显示图片

#include   
#include 
#include 
#include   

using namespace cv;

int main(int argc, char* argv[])
{
	//读取一张图片  
	Mat src = imread("F:\\Python学习\\小项目\\图片用文字显示\\2.jpg");
	//显示该窗口
	imshow("Test OpenCV setup", src);
	//等待键盘任意键按下关闭此窗口  
	waitKey(0);
	return 0;
}

二、对图片进行腐蚀操作

即用图片中暗色部分腐蚀掉高亮部分。

#include   
#include 
#include 
#include   

using namespace cv;

int main(int argc, char* argv[])
{
	//读取一张图片  
	Mat src = imread("F:\\Python学习\\小项目\\图片用文字显示\\2.jpg");
	//显示该窗口
	imshow("Test OpenCV setup", src);
	Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));//返回内核矩阵
	Mat dstImage;
	erode(src, dstImage, element);//腐蚀操作
	imshow("效果图", dstImage);
	//等待键盘任意键按下关闭此窗口  
	waitKey(0);
	return 0;
}

效果图:

Opencv简单应用(一)_第1张图片

三、对图片进行均值滤波(模糊)操作

#include   
#include 
#include 
#include   

using namespace cv;

int main(int argc, char* argv[])
{
	//读取一张图片  
	Mat src = imread("F:\\Python学习\\小项目\\图片用文字显示\\3.jpg");
	//显示该窗口
	imshow("Test OpenCV setup", src);
	Mat dstImage;
	blur(src, dstImage,Size(7,7));//模糊操作
	imshow("效果图", dstImage);
	//等待键盘任意键按下关闭此窗口  
	waitKey(0);
	return 0;
}

效果图:


四、canny边缘检测

边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。 这些包括(i)深度上的不连续、(ii)表面方向不连续、(iii)物质属性变化和(iv)场景照明变化。 边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。

#include   
#include 
#include 
#include   

using namespace cv;

int main(int argc, char* argv[])
{
	//读取一张图片  
	Mat src = imread("F:\\Python学习\\小项目\\图片用文字显示\\3.jpg");
	//显示该窗口
	imshow("Test OpenCV setup", src);
	Mat dstImage,edge,grayImage;
	//创建与src同类型和大小的矩阵
	dstImage.create(src.size(), src.type());
	//将原图像转为灰度图像
	cvtColor(src, grayImage, COLOR_BGR2GRAY);
	//使用3x3内核降噪
	blur(grayImage, edge,Size(3,3));
	//运行Canny算子
	Canny(edge, edge, 3, 9, 3);
	imshow("效果图", edge);
	//等待键盘任意键按下关闭此窗口  
	waitKey(0);
	return 0;
}

效果图:




你可能感兴趣的:(机器视觉,Opencv)