Opencv常用图像处理函数(c++和python)

学习,温故而知新。我写的东西都是给自己看的。方便平时忘记了,直接查看博客知道答案。
下面是常用的函数:
大家平时想学习图像处理,可以去看那本opencv蝴蝶书。
下面给两个学习opencv网址(C++的)
W3CschoolOpenCV官方文档

网友整理的学习笔记

下面是详细函数使用网址:
创建Mat
二值化阈值处理
膨胀腐蚀
形态学其他操作
查找轮廓
绘制矩形框
imwrite图片保存质量
均值滤波和中值滤波

c++写法:

	Mat img = imread("../2.png");
	Mat pic1= Mat(cv::Size(100, 200), CV_8UC3, cv::Scalar(0, 255, 0));//Mat 函数使用
	Mat gray,th,deal;
	cvtColor(img, gray, CV_BGR2GRAY);//灰度图像
	Mat kernel = getStructuringElement(MORPH_RECT, Size(3, 3));//结构元素。内核的形状,尺寸
	threshold(th, th, 0, 255, THRESH_BINARY);	//二值化阈值处理。取值范围。阈值类型
	adaptiveThreshold(gray, th, 255, ADAPTIVE_THRESH_GAUSSIAN_C, THRESH_BINARY, 25, 10);//自适应二值化阈值处理
	//形态学处理
	erode(th, th, kernel);	//腐蚀。缩小轮廓(黑底白轮廓)
	dilate(th, th, kernel);	//膨胀。扩大轮廓(黑底白轮廓)
	morphologyEx(th, th, MORPH_OPEN, kernel);//开操作
	morphologyEx(th, th, MORPH_CLOSE, kernel);//闭操作
	medianBlur(th,th,3);//中值滤波
	//提取轮廓
	vector<vector<Point>>cnts;
	vector<Vec4i>hierarchy;
	//检测所有外轮廓, 找出轮廓点
	//填充内部小轮廓
	findContours(th, cnts, hierarchy, CV_RETR_LIST, CHAIN_APPROX_SIMPLE);//
	for (int i = 0; i < cnts.size(); i++)// 像素点个数  i是轮廓的数量
	{
		Rect xywh = boundingRect(cnts[i]);//计算轮廓的左上的坐标和长宽信息
		double area = contourArea(cnts[i]);//计算轮廓的面积
		if(area > 50)
		{
			drawContours(deal, cnts, i, Scalar(0, 0, 0), 2);//绘制轮廓
			drawContours(deal, cnts, i, Scalar(0, 0, 0), CV_FILLED);//绘制填充轮廓
			line(frame, Point(100, 0), Point(100, 200), Scalar(255, 0, 0), 2);//绘制线条
			rectangle(deal, xywh, Scalar(0, 255, 0), 2);	//绘制矩形框
			rectangle(deal, xywh, Scalar(0, 0, 0), CV_FILLED);	//绘制填充矩形框
			//绘制文字
			putText(frame, "area:" + to_string((int)area), Point(xywh.x + 10, xywh.y + 30),
				CV_FONT_NORMAL, FONT_HERSHEY_PLAIN, Scalar(0, 0, 255), 2);
		}
		
	}
	hconcat(pic1, pic2, pic2);//水平拼接图片
	cv::imwrite("savepic/" + to_string(num) + ".jpg", jietu);// 保存图像至本地
	

python写法:

在这里插入代码片

先写到这
持续更新,加油!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值