10 OpenCV 形态学的应用

文章目录

算子

adaptiveThreshold 二值化算子

c 复制代码
adaptiveThreshold(src, dst=None,maxValue, adaptiveMethod, thresholdType, blockSize, C, )
/*
*src:灰度化的图片
*dst:输出图像,可选
*maxValue:满足条件的像素点需要设置的灰度值
*adaptiveMethod:自适应方法。有2种:ADAPTIVE_THRESH_MEAN_C 或 ADAPTIVE_THRESH_GAUSSIAN_C
*thresholdType:二值化方法,可以设置为THRESH_BINARY或者THRESH_BINARY_INV
*blockSize:分割计算的区域大小,取奇数
* C:常数,每个区域计算出的阈值的基础上在减去这个常数作为这个区域的最终阈值,可以为负数

*/

形态学提取直线示例

想法:把获取二值化的图片轮廓,对直线进行开闭运算

c 复制代码
#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
int main() {
	Mat src, dst;
	src = imread("chars.png");
	if (!src.data) {
		printf("could not load image...\n");
		return -1;
	}

	char INPUT_WIN[] = "input image";
	char OUTPUT_WIN[] = "result image";
	namedWindow(INPUT_WIN);
	imshow(INPUT_WIN, src);

	Mat gray_src;
	cvtColor(src, gray_src, CV_BGR2GRAY);
	imshow("gray image", gray_src);
	
	Mat binImg;
	adaptiveThreshold(gray_src, binImg, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY, 15, -2);
	imshow("binary image", binImg);

	// 水平结构元素
	Mat hline = getStructuringElement(MORPH_RECT, Size(src.cols / 16, 1), Point(-1, -1));
	// 垂直结构元素
	Mat vline = getStructuringElement(MORPH_RECT, Size(1, src.rows / 16), Point(-1, -1));
	

	Mat temp;
	erode(binImg, temp, hline );
	dilate(temp, dst, hline );
	// 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(0);
	return 0;
}


相关推荐
apcipot_rain2 分钟前
计科八股20260611——推荐系统协同过滤、信息安全、团队协作、知识图谱
人工智能·知识图谱
谷哥的小弟3 分钟前
大模型核心基础知识(18)—Transformer模型的提出背景
人工智能·深度学习·神经网络·大模型·transformer·大语言模型
AI人工智能+3 分钟前
基于深度学习的医疗机构执业许可证识别技术通过智能图像处理、目标检测和语义理解,实现关键信息的高精度提取与结构化转换
深度学习·计算机视觉·自然语言处理·ocr·医疗机构执业许可证识别
CJH(本人账号)5 分钟前
大模型的“越狱“之路:从DAN到多模态注入,AI安全边界正在崩塌
网络·人工智能·安全
Chenyu_3107 分钟前
世界模型:从“预测下一个状态”到“可交互世界模拟器”
人工智能·计算机视觉·交互
叫我:松哥8 分钟前
基于神经网络的汽车与自行车的分类算法设计与实现,采用ResNet50和迁移学习,准确率达到99%
人工智能·python·神经网络·机器学习·分类·汽车·迁移学习
五度易链-区域产业数字化管理平台8 分钟前
从编制规范到落地应用,新版可研报告撰写全流程指南
大数据·人工智能
Yingjun Mo9 分钟前
(一) 1. 大模型与智能体的区别
人工智能·chatgpt
Terrence Shen9 分钟前
advice
人工智能·机器学习
우리帅杰11 分钟前
【AI测试】Python AI大模型介绍
开发语言·人工智能·python·ai编程