宁波网站建设公司排名,国外建筑设计网站,WORDPRESS 手机版 底部电话,建筑工程公司经营范围图像的边缘检测
cv::Canny 是 OpenCV 中用于进行边缘检测的函数#xff0c;特别是用于检测图像中的边缘。Canny 边缘检测是一种广泛使用的技术#xff0c;它能够识别图像中的边缘#xff0c;这些边缘通常表示对象之间的边界或图像中的显著特征
void cv::Canny(const cv::M…图像的边缘检测
cv::Canny 是 OpenCV 中用于进行边缘检测的函数特别是用于检测图像中的边缘。Canny 边缘检测是一种广泛使用的技术它能够识别图像中的边缘这些边缘通常表示对象之间的边界或图像中的显著特征
void cv::Canny(const cv::Mat image, cv::Mat edges, double threshold1, double threshold2, int apertureSize 3, bool L2gradient false);参数说明image输入图像需要进行边缘检测的图像通常是灰度图像。edges输出图像用于存储检测到的边缘。threshold1第一个阈值用于边缘检测的强度梯度。threshold2第二个阈值用于连接边缘的弱边缘梯度。apertureSize可选Sobel 算子的核大小默认为3。L2gradient可选一个布尔值指定是否使用更精确但计算量更大的 L2 范数来计算梯度幅度默认为false通常使用 L1 范数。图像边缘检测案例
#include opencv2/opencv.hpp
#include iostream
#include opencv2/highgui/highgui.hpp
#include opencv2/imgproc/imgproc.hppusing namespace std;
using namespace cv;
#include iostream
#include fstream#include opencv2/opencv.hppint main() {// 读取图像cv::Mat inputImage cv::imread(1.png, cv::IMREAD_GRAYSCALE);//先把图像改成灰色图才能进行边缘的处理// 检查图像是否成功加载if (inputImage.empty()) {std::cerr 无法加载图像 std::endl;return -1;}// 创建一个输出图像cv::Mat edges;// 使用Canny边缘检测double lowThreshold 50; // 低阈值double highThreshold 150; // 高阈值int apertureSize 3; // Sobel算子内核大小cv::Canny(inputImage, edges, lowThreshold, highThreshold, apertureSize);//// 显示原始图像和边缘检测结果cv::imshow(原始图像, inputImage);cv::imshow(边缘检测结果, edges);// 等待用户按下键盘任意键后关闭窗口cv::waitKey(0);return 0;
}