导航:首页 > 阀门知识 > 怎么用opencv做轮廓面积阀门

怎么用opencv做轮廓面积阀门

发布时间:2022-08-28 01:03:24

❶ opencv中使用findContours、contourArea的问题。

blur(imgGray,imgGray,Size(3,3)); 执行到这句的时候图形的像素排列就已经改变了,旋转之后看着虽然差不多,但是已经不同了。

如果要精确的面积,必须要计算像素。

❷ openCV里怎么求二值化图像的面积和轮廓周长

可以先用findContours()函数找到你需要的轮廓,然后用contourArea()函数求面积,用arcLength()函数求轮廓长度,也就是周长。

❸ 怎么用opencv在输入的原图上面已经寻找出来的轮廓

二值化,然后用countour那个函数就可以得到物体的轮廓。

❹ 如何利用OPENCV的matchShapes进行轮廓匹配

主要步骤1.读取一幅图片,并且对其进行二值化。2.对其进行形态学处理,减少孔洞等次要特征,保留其主要特征。3.进行边缘提取。4.进行形状轮廓匹配,得到其匹配值,从而判断是否是同一个形状。

下面是演示代码:

#include <iostream>

#include "opencv2/opencv.hpp"

using namespace std;

using namespace cv;

int main()

{

Mat k=imread("E:/TestGit/8.jpg",0);

Mat f;

Mat k1=imread("E:/TestGit/9.jpg",0);

Mat f1;

threshold(k,f,50,255,THRESH_BINARY);//对图像进行二值化

threshold(k1,f1,50,255,THRESH_BINARY);

Mat closerect=getStructuringElement(MORPH_RECT,Size(3,3)); //进行结构算子生成

morphologyEx(f,f,MORPH_OPEN,closerect);

morphologyEx(f1,f1,MORPH_OPEN,closerect);//进行形态学开运算

Mat dst = Mat::zeros(k.rows, k.cols, CV_8UC3);

Mat dst1 = Mat::zeros(k1.rows, k1.cols, CV_8UC3);

vector<vector<Point>> w,w1;

vector<Vec4i> hierarchy,hierarchy1 ;

findContours(f,w,hierarchy,RETR_CCOMP,CHAIN_APPROX_SIMPLE);//提取轮廓元素

findContours(f1,w1,hierarchy1,RETR_CCOMP,CHAIN_APPROX_SIMPLE);

FileStorage fs("f.dat",FileStorage::WRITE);

fs<<"f"<<w1[0];

int idx=0;

double ffff=matchShapes(w[0],w1[0],CV_CONTOURS_MATCH_I3,1.0);//进行轮廓匹配

std::cout<<ffff<<std::endl;

system("pause");

return 0;

}

这样,我们就得到了轮廓边缘的提取和匹配,满足了需要。而不同的算子具有不同的匹配算子方法。

❺ opencv提取工件轮廓

这么说吧,人眼能分出来,那么理论上说,算法也应该能分出来。你可以试试区域分割方法试试。或者使用先验知识,例如你现在检测到轮廓中的内凹的两个角。

阅读全文

与怎么用opencv做轮廓面积阀门相关的资料

热点内容
steam令牌换设备了怎么办 浏览:246
新生测听力仪器怎么看结果 浏览:224
化学试验排水集气法的实验装置 浏览:156
家用水泵轴承位置漏水怎么回事 浏览:131
羊水镜设备多少钱一台 浏览:125
机械制图里型钢如何表示 浏览:19
测定空气中氧气含量实验装置如图所示 浏览:718
超声波换能器等级怎么分 浏览:800
3万轴承是什么意思 浏览:110
鑫旺五金制品厂 浏览:861
苏州四通阀制冷配件一般加多少 浏览:153
江北全套健身器材哪里有 浏览:106
水表阀门不开怎么办 浏览:109
花冠仪表盘怎么显示时速 浏览:106
洗砂机多少钱一台18沃力机械 浏览:489
超声波碎石用什么材料 浏览:607
组装实验室制取二氧化碳的简易装置的方法 浏览:165
怎么知道天然气充不了阀门关闭 浏览:902
公司卖旧设备挂什么科目 浏览:544
尚叶五金机电 浏览:59