opencv 玻璃镜面缺陷检测,缺陷信息标记及提取

opencv 玻璃镜面缺陷检测,缺陷信息标记及提取

作者:scutjy2015@163.com



Part 1 部分效果图






Part 2 源程序
#include <opencv2\opencv.hpp>
#include <iostream>
//#include <cv.h>
//#include <cxcore.h>
//#include <highgui.h>
//#include <iostream>
//#include<opencv2/imgproc/imgproc.hpp>

#include <string>

//#include <list>
//#include <vector>
//#include <map>
//#include <stack>
//#include <opencv2/highgui/highgui.hpp>
#include <stdio.h>
//#include <math.h>

using namespace cv;
using namespace std;


//定义灰度图像变量
IplImage *g_GrayImage = NULL;
//定义二值化图片变量
IplImage *g_BinaryImage = NULL;                                                                                                                                                                                                                                   
//定义二值化窗口标题
const char *WindowBinaryTitle = "二值化图片";
//定义滑块响应函数

//创建源图像窗口标题变量
const char *WindowSrcTitle = "灰度图像";
//创建滑块标题变量
const char *TheSliderTitle = "二值化阀值";


const char *SrcPath = "G:/AA computer vision/vs_opencv_example/defect detecting 201706291343/picture/1706201246_ 38.jpg"; 定义图片路径



IplImage *g_pGrayImage_liantong = NULL;
IplImage *g_pBinralyImage_liantong = NULL;

int contour_num = 0; //数字编号
char  number_buf[10];  数字编号存入数组,puttext

#define num_col 11   二维数组的列,每一个点缺陷信息的详细信息

long int liantong_all_area = 0; 连通区域总面积
long int Rect_all_area = 0;   保存最小外接矩形总的面积


=====================================================================
struct my_struct1{
	double scale;   定义显示图像的比例
	const int threshold_value_binaryzation;  定义第一次二值化阀值
	const int threshold_value_second_binaryzation;  定义第一次二值化阀值
};
my_struct1 picture = { 0.3, 50, 100 };

=====================================================================
struct my_struct2{
	int Model1_k1 ;  图像膨胀腐蚀
	int Model1_k2 ;  图像膨胀腐蚀
	int Model2_k1 ;  图像膨胀腐蚀
	int Model2_k2 ;  图像膨胀腐蚀
} ;
my_struct2 value = {5,2,3,2};

=====================================================================
struct my_struct3{

	double maxarea ;  最大缺陷面积
	double minarea ;  最小显示保留的缺陷面积

	double font_scale ;  字体大小
	int font_thickness ; 字体粗细

	const int Feature_value2_number ; 定义一个二维数组的列,即缺陷的个数

};
my_struct3 value2 = { 0, 4, 0.6, 0.8 , 100};

=========================================================
  • 18
    点赞
  • 213
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值