IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 12.形态学操作作用-提取水平和垂直线 -> 正文阅读

[人工智能]12.形态学操作作用-提取水平和垂直线

在这里插入图片描述

#include <opencv2/opencv.hpp>
#include <iostream>

int main(int argc, char** argv){
    cv::Mat src = cv::imread("../../source/line.png");
    if(src.empty()){
        std::cout << "could not load image ...." << std::endl;
        return -1;
    }
    cv::namedWindow("src img");
    cv::imshow("src img", src);

    // 转换为灰度图
    cv::Mat gray_img;
    cv::cvtColor(src, gray_img, cv::COLOR_BGR2GRAY);
    cv::namedWindow("gray img");
    cv::imshow("gray img", gray_img);
    // 反转,形态学操作针对前景,既白色;而现有图片白色为背景
    cv::bitwise_not(gray_img, gray_img);
    cv::namedWindow("bitwise not img");
    cv::imshow("bitwise not img", gray_img);
    // 自适应预置,转为二值图
    cv::Mat binary_img;
    cv::adaptiveThreshold(gray_img, binary_img, 255, cv::ADAPTIVE_THRESH_MEAN_C, cv::THRESH_BINARY, 15, -3);
    cv::namedWindow("binary img");
    cv::imshow("binary img", binary_img);
    // 定义水平结构元素
    cv::Mat hlin = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(binary_img.cols / 8, 1));
    // 水平线
    cv::Mat h_img;
    cv::morphologyEx(binary_img, h_img, cv::MORPH_OPEN, hlin);
    cv::namedWindow("h img");
    cv::imshow("h img", h_img);
    // blur
    cv::blur(h_img, h_img, cv::Size(3, 3));
    cv::namedWindow("final h img");
    cv::imshow("final h img", ~h_img);  // 加反转

    // 定义垂直结构元素
    cv::Mat vlin = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(1, binary_img.rows / 8));
    // 垂直线
    cv::Mat v_img;
    cv::morphologyEx(binary_img, v_img, cv::MORPH_OPEN, vlin);
    cv::namedWindow("v img");
    cv::imshow("v img", v_img);
    // blur
    cv::blur(v_img, v_img, cv::Size(3, 3));
    cv::namedWindow("final v img");
    cv::imshow("final v img", ~v_img);  // 加反转

    cv::waitKey();
}

在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-02-05 21:44:41  更:2022-02-05 21:46:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 8:02:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码