当前位置: 首页 > wzjs >正文

专业网站制作地址自建站平台

专业网站制作地址,自建站平台,3m网站源码,wordpress cue插件下载文章目录 使用腐蚀和膨胀图像形态滤波器实现案例使用形态学滤波器对图像进行开运算和闭运算实现案例在灰度图像上应用形态学操作算子形态学梯度(Morphological Gradient)黑帽变换(Black-hat Transform)使用分水岭算法进行图像分割使用 MSER 提取显著区域MSER 检测与可视化使…

文章目录

    • 使用腐蚀和膨胀图像形态滤波器
      • 实现案例
    • 使用形态学滤波器对图像进行开运算和闭运算
      • 实现案例
    • 在灰度图像上应用形态学操作算子
      • 形态学梯度(Morphological Gradient)
      • 黑帽变换(Black-hat Transform)
    • 使用分水岭算法进行图像分割
    • 使用 MSER 提取显著区域
      • MSER 检测与可视化

使用腐蚀和膨胀图像形态滤波器

腐蚀(Erosion)和膨胀(Dilation)是最基本的形态学操作。
数学形态学中最基本的组成部分是结构元素(structuring element)。一个结构元素可以简单地定义为一组像素的排列方式(如下图中的方形结构),并在这组像素中定义一个原点(也称为锚点)。
在这里插入图片描述
应用形态学滤波器的过程,就是使用这个结构元素去“探测”图像中的每一个像素。当结构元素的原点与图像中的某个像素对齐时,结构元素与图像的交集就定义了一组像素,在这组像素上会执行特定的形态学操作(如下图中阴影显示的九个像素)。

结构元素可以是任意形状的,常用的是简单的形状,例如方形、圆形或菱形,并且通常将原点置于中心位置。自定义的结构元素在某些情况下也非常有用,可以用于强调或消除具有特定形状的区域。

实现案例

腐蚀和膨胀在OpenCV中通过简单的函数实现,分别为cv::erode和cv::dilate

cv::Mat image = cv::imread("binary.bmp");
// 腐蚀图像
// 使用默认的3x3结构元素(SE)
cv::Mat eroded; // 目标图像
cv::erode(image, eroded, cv::Mat());// 膨胀图像
cv::Mat dilated; // 目标图像
cv::dilate(image, dilated, cv::Mat());

腐蚀操作将当前像素替换为在所定义的像素集中找到的最小像素值。
相反,膨胀是一个互补的操作,它将当前像素替换为最大像素值。由于输入的二值图像只包含黑色(值0)和白色(值255)像素,每个像素都将被替换成黑色或白色像素。
默认情况下,OpenCV使用3x3的方形结构元素。当在函数调用中指定一个空矩阵(即cv::Mat())作为第三个参数时,默认结构元素就会被使用。也可以通过提供一个非零元素定义结构元素的矩阵来指定任何大小(和形状)的结构元素。例如,应用一个7x7的结构元素的方法如下:

// 创建一个包含所有1的7x7矩阵
cv::Mat element(7, 7, CV_8U, cv::Scalar(1));
// 使用该结构元素腐蚀图像
cv::erode(image, eroded, element);// 腐蚀图像3次
cv::erode(image, eroded, cv::Mat(), cv::Point(-1,-1), 3);
#include <opencv2/opencv.hpp>
#include <iostream>
#include <cstdlib>
#include <ctime>int main() {// 设置随机数种子std::srand(std::time(nullptr));// 图像尺寸int height = 400, width = 400;// 创建一个空的单通道灰度图像cv::Mat image = cv::Mat(height, width, CV_8UC1);// 填充随机值for(int y = 0; y < height; ++y) {for(int x = 0; x < width; ++x) {// 随机生成0或255,以创建二值图像image.at<uchar>(y, x) = (std::rand() % 2) * 255;}}// 创建用于存储处理结果的图像cv::Mat eroded, dilated;// 使用默认的3x3结构元素进行腐蚀操作cv::erode(image, eroded, cv::Mat());// 使用默认的3x3结构元素进行膨胀操作cv::dilate(image, dilated, cv::Mat());// 显示原图cv::imshow("Original Image", image);// 显示腐蚀后的图像cv::imshow("Eroded Image", eroded);// 显示膨胀后的图像cv::imshow("Dilated Image", dilated);// 等待用户按键以关闭所有窗口cv::waitKey(0);return 0;
}

在这里插入图片描述

使用形态学滤波器对图像进行开运算和闭运算

  • 开运算(Opening) = 先腐蚀后膨胀
  • 闭运算(Closing) = 先膨胀后腐蚀
// rc: 输入图像
// dst: 输出图像
// op: 操作类型,如 cv::MORPH_OPEN 或 cv::MORPH_CLOSE
// kernel: 结构元素(通常用 cv::getStructuringElement 创建)
cv::morphologyEx(src, dst, op, kernel);

实现案例

#include <opencv2/opencv.hpp>
http://www.dtcms.com/wzjs/403326.html

相关文章:

  • 网站统计关键词seo外包上海
  • 东莞企业网seo网站关键词排名快速
  • 网站开发语言windows今日国际新闻头条15条
  • 如何用域名建网站太原百度关键词排名
  • 免费做课设的网站如何做好品牌推广工作
  • 做网站与全网营销搜索推广排名优化今日最新财经新闻
  • 如何将代码放在网站所有页面的 在mac里高质量内容的重要性
  • 动态web网站开发技术站长推荐黄色
  • wordpress能做企业网站吗杭州网站优化公司哪家好
  • 清远专业网站建设就业培训机构有哪些
  • 郑州做网站公司汉狮网技成培训网
  • 使用vue做商城网站项目难点软文网站模板
  • 办公室装修风格图全达seo
  • wordpress 图片上传路径重庆百度seo公司
  • 做网站哪里找程序员西安网站推广助理
  • 复制网页源代码做网站电子商务营销策划方案
  • 南宁有什么做网站的好公司怎么申请网站空间
  • 怎么做金融营销网站专业推广引流团队
  • 怎么在百度上做网站推广广东广州重大新闻
  • 泉州做 php 网站网络营销的核心是
  • 网站seo关键词排名推广百度关键词优化怎么做
  • 肇庆城乡建设门户网站爱站网关键词查询网站的工具
  • wordpress主题文档某网站seo诊断分析和优化方案
  • 找做仿网站google手机官网
  • 百度站长社区做销售记住这十句口诀
  • 外贸平台都有哪些郑州专业seo首选
  • 门户网站优化方案网站推广广告
  • win7云主机怎么做网站代刷网站推广免费
  • ecs服务器如何做网站市场推广和销售的区别
  • 做网站海报杭州seo托管公司推荐