概述
本文章由公号【开发小鸽】发布!欢迎关注!!!
老规矩–妹妹镇楼:
一. 拉普拉斯算子的理论:
最大变化处的二阶微分值为0,即边缘在二阶微分时为零值、通过二阶微分计算,可以计算图像二阶微分,提取边缘。
二. 用拉普拉斯算子处理问题的流程:
- 高斯模糊-去噪 GaussianBlur()
- 转换为灰度图像 cvtColor()
- 拉普拉斯-二阶导数计算 Laplacian()
- 取绝对值 convertScaleAbs()
三. 下面是代码:
#include<iostream>
#include<opencv2/opencv.hpp>
#include<string>
using namespace std;
string in_title = "input image";
string ou_title = "output image";
int main() {
cv::Mat src, dst;
src = cv::imread("1.jpg");
cv::namedWindow(in_title, cv::WINDOW_NORMAL);
cv::imshow(in_title, src);
cv::Mat gray_src;
//先高斯模糊
cv::GaussianBlur(src, dst, cv::Size(3, 3), 0, 0);
//再转成灰度图
cv::cvtColor(dst, gray_src, cv::COLOR_BGR2GRAY);
cv::imshow("gray image", gray_src);
cv::Mat edge_image;
cv::Laplacian(gray_src, edge_image, CV_16S, 3);
cv::convertScaleAbs(edge_image, edge_image);
//二值化,更清晰
cv::threshold(edge_image, edge_image, 0, 255, cv::THRESH_OTSU | cv::THRESH_BINARY);
cv::namedWindow(ou_title, cv::WINDOW_NORMAL);
cv::imshow(ou_title, edge_image);
cv::waitKey(0);
return 0;
}
最后
以上就是威武诺言为你收集整理的OpenCV学习笔记(六)之拉普拉斯算子的全部内容,希望文章能够帮你解决OpenCV学习笔记(六)之拉普拉斯算子所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复