一、读取显示图片
#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;
}
效果图:
三、对图片进行均值滤波(模糊)操作
#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;
}
效果图: