opencv 形态学操作应用-提取水平与垂直线
2024-10-19 08:44:22
adaptiveThreshold(~gray_src, binImg, , ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY, , -);
#include <opencv2/opencv.hpp>
#include <iostream> using namespace cv;
int main(int argc, char** argv) {
Mat src, dst;
src = imread("E:/opencv3.2/TestOpenCVInstall/Debug/chars.png");
if (!src.data) {
printf("could not load image...\n");
return -;
} char INPUT_WIN[] = "input image";
char OUTPUT_WIN[] = "result image";
namedWindow(INPUT_WIN, CV_WINDOW_AUTOSIZE);
imshow(INPUT_WIN, src); Mat gray_src;
cvtColor(src, gray_src, CV_BGR2GRAY);
imshow("gray image", gray_src); Mat binImg;
adaptiveThreshold(~gray_src, binImg, , ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY, , -);
imshow("binary image", binImg); // 水平结构元素
Mat hline = getStructuringElement(MORPH_RECT, Size(src.cols / , ), Point(-, -));
// 垂直结构元素
Mat vline = getStructuringElement(MORPH_RECT, Size(, src.rows / ), Point(-, -));
// 矩形结构
Mat kernel = getStructuringElement(MORPH_RECT, Size(, ), Point(-, -)); Mat temp;
erode(binImg, temp, kernel);
dilate(temp, dst, kernel);
// morphologyEx(binImg, dst, CV_MOP_OPEN, vline);
bitwise_not(dst, dst);
//blur(dst, dst, Size(3, 3), Point(-1, -1));
imshow("Final Result", dst); waitKey();
return ;
}
最新文章
- 安装Windows10,Ubuntu双系统14.04LTS记录
- a new Poster
- 排列组合[HDU1521]
- MFC中,如何自定义用户消息
- 将JDBC ResultSet结果集变成List
- Homebrew新一代OS X套件管理工具 高速安装Git
- !!!!OpenWrt系列教程汇总
- 使用JUnit单元测试入门
- Android监听外部存储设备的状态(SD卡、U盘等等)
- [转]Mac OS X local privilege escalation (IOBluetoothFamily)
- C++学习(三)入门篇——函数
- winform展示Unity3D文件(支持动态改变文件路径)
- obj-c编程10:Foundation库中类的使用(2)[字符串,数组]
- 运用了css,js
- 极致21点开发DAY3
- MyBatis中<;if test="; ";>;标签条件不起作用
- aop通配符语法
- Why do people integrate Spark with TensorFlow even if there is a distributed TensorFlow framework?
- sklearn安装
- @objc vs @objc dynamic官方解释