我是靠谱客的博主 威武诺言,最近开发中收集的这篇文章主要介绍OpenCV学习笔记(六)之拉普拉斯算子,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文章由公号【开发小鸽】发布!欢迎关注!!!


老规矩–妹妹镇楼:

一. 拉普拉斯算子的理论:

       最大变化处的二阶微分值为0,即边缘在二阶微分时为零值、通过二阶微分计算,可以计算图像二阶微分,提取边缘。

二. 用拉普拉斯算子处理问题的流程:

  1. 高斯模糊-去噪 GaussianBlur()
  2. 转换为灰度图像 cvtColor()
  3. 拉普拉斯-二阶导数计算 Laplacian()
  4. 取绝对值 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学习笔记(六)之拉普拉斯算子所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部