资源简介
基于图像的火柴和钢筋数量统计,基本算法为hough变换,其中有两个文档分别实现火柴数量的检测和钢筋数量的检测,有示例图片,程序为普通win32控制工程,使用opencv2.4.9,运行时可能需要自行配置。

代码片段和文件信息
// ImageProcessingProject.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include
#include
#include“thresh.h“
#include“matches.h“
#include “rebars.h“
using namespace cv;
using namespace std;
void sharpenImage1(const cv::Mat &image cv::Mat &result);
int LBPOtsu(Mat& src);
void roberts(IplImage *srcIplImage *dst);
int _tmain(int argc _TCHAR* argv[])
{
cvNamedWindow(“钢筋结果图像“0);
cvNamedWindow(“火柴结果图像“0);
char *addr =“钢筋根数统计2.jpg“;//图片载入路径
IplImage *image = cvLoadImage(addr);
char *addr1 =“火柴根数统计2.jpg“;//图片载入路径
IplImage *image1 = cvLoadImage(addr1);
if(!image)
{
cout <<“Read Image Failed!“;
exit(0);
}
if(!image1)
{
cout <<“Read Image1 Failed!“;
exit(0);
}
int count = 0;
rebarsdetected(imagecount);
cout<<“钢筋数量为:“< MathesDetected(image1count);
cout<<“火柴数量为:“< cvShowImage(“钢筋结果图像“image);
cvShowImage(“火柴结果图像“image1);
cv::waitKey(0);
//直线检测或圆形检测
//程序结束
cvDestroyAllWindows();
cvReleaseImage(&image);
cvReleaseImage(&image1);
return 0;
}
void roberts(IplImage *srcIplImage *dst)
{
//为roberts图像申请空间因为要利用源图像指针中的imageData因此使用复制方式
dst=cvCloneImage(src);
int xyiwh;
int temptemp1;
uchar* ptr=(uchar*) (dst->imageData );
int ptr1[4]={0};
int indexx[4]={0110};
int indexy[4]={0011};
w=dst->width;
h=dst->height;
for(y=0;y for(x=0;x {
for(i=0;i<4;i++) //取每个2*2矩阵元素的指针 0 | 1
{ // 3 | 2
ptr1[i]= *(ptr+(y+indexy[i])*dst->widthStep+x+indexx[i]);
}
temp=abs(ptr1[0]-ptr1[2]); //计算2*2矩阵中0和2位置的差,取绝对值temp
temp1=abs(ptr1[1]-ptr1[3]); //计算2*2矩阵中1和3位置的差,取绝对值temp1
temp=(temp>temp1?temp:temp1); //若temp1>temp则以temp1的值替换temp
temp= (int)sqrt(float(temp*temp)+float(temp1*temp1)); //输出值
/* if (temp>100)
29. temp=255;
30. else temp=0; */
*(ptr+y*dst->widthStep+x)=temp; //将输出值存放于dst像素的对应位置
}
double min_val = 0max_val = 0;//取图并显示像中的最大最小像素值
cvMinMaxLoc(dst&min_val&max_val);
printf(“max_val = %f\nmin_val = %f\n“max_valmin_val);
cvSaveImage(“RobertsImg.jpg“ dst);//把图像存入文件
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 50688 2015-09-07 11:06 火柴钢筋数量检测程序\Debug\ImageProcessingTask.exe
文件 648952 2015-09-07 11:06 火柴钢筋数量检测程序\Debug\ImageProcessingTask.ilk
文件 1805312 2015-09-07 11:06 火柴钢筋数量检测程序\Debug\ImageProcessingTask.pdb
文件 4088 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\cl.command.1.tlog
文件 67108 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\CL.read.1.tlog
文件 5988 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\CL.write.1.tlog
文件 406 2015-08-23 16:04 火柴钢筋数量检测程序\ImageProcessingTask\Debug\ImageProcessingTask.exe.em
文件 472 2015-08-23 16:04 火柴钢筋数量检测程序\ImageProcessingTask\Debug\ImageProcessingTask.exe.em
文件 381 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\ImageProcessingTask.exe.intermediate.manifest
文件 67 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\ImageProcessingTask.lastbuildstate
文件 3367 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\ImageProcessingTask.log
文件 128489 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\ImageProcessingTask.obj
文件 1179648 2015-08-23 16:04 火柴钢筋数量检测程序\ImageProcessingTask\Debug\ImageProcessingTask.pch
文件 707 2015-08-23 16:27 火柴钢筋数量检测程序\ImageProcessingTask\Debug\ImageProcessingTask.vcxprojResolveAssemblyReference.cache
文件 0 2015-08-23 16:03 火柴钢筋数量检测程序\ImageProcessingTask\Debug\ImageProcessingTask.write.1.tlog
文件 228 2015-08-23 16:04 火柴钢筋数量检测程序\ImageProcessingTask\Debug\ImageProcessingTask_manifest.rc
文件 2 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\li
文件 2 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\li
文件 2 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\li
文件 2 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\li
文件 2 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\li
文件 2 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\li
文件 2 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\li
文件 2 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\li
文件 2 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\li
文件 2 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\li
文件 2 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\li
文件 2 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\li
文件 2 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\li
文件 2 2015-09-07 11:06 火柴钢筋数量检测程序\ImageProcessingTask\Debug\li
............此处省略157个文件信息
- 上一篇:Universalimageloader
- 下一篇:MSP430中文手册
相关资源
- 实时显示钢筋标注面积V0.44
- 基于OpenCV的数字识别468815
- 使用opencv去掉二值化图像中黑色面积
- opencv环境配置
- win10 64位下编译的opencv4.5.5库,opencv
- Scratch源码:火柴人.sb3
- 不同加载路径对钢筋混凝土L形柱抗震
- 考虑非刚性梁柱节点时钢筋混凝土框
- 钢筋混凝土框架结构的抗震设计理念
- 二次受力CFRP加固钢筋混凝土梁力学性
- 二次受力下CFRP加固钢筋混凝土梁抗剪
- 碳纤维布加固混凝土梁裂缝及界面性
- 碱环境下玻璃纤维布加固钢筋混凝土
- 中空率对中空GFRP管钢筋混凝土柱性能
- NVIDIAOpticalFlowSDK-79c6cee80a2df9a196f20afd6
- opencv_contrib-3.4.0.zip
- opencv2.4.9源码分析——SIFT
- 用两个摄像头实现,双目标定,双目
- opencv_traincascade训练分类器,手势识别
- opencv3.0交叉编译用parallel.cpp
- 基于opencv的图像识别识别图像中的色
- 基于openCV的识别特定颜色区域
- 基于OpenCV的分水岭算法实现
- QT+opencv+OCR 身份证号码,银行卡号识别
- opencv视频特定颜色区域识别
- 把RGB转换为HSV和HSI然后根据黄色和蓝
- opencv视觉测距
- 基于Qt和opencv的身份证号码识别系统
- opencv_ffmpeg249.dll
- SfM稀疏三维点云重建--完整工程文件
评论
共有 条评论