资源简介
基于图像的火柴和钢筋数量统计,基本算法为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中文手册
相关资源
- 基于opencv的交通标志识别
- opencv自带SVM分类器使用程序
- OpenCV使用随机森林实现对图像分类
- opencv行人检测,新鲜出炉
- OpenCV之人脸,眼睛,鼻子,嘴巴的识
- OpenCv相似度比较
- 手写识别的opencv代码
- 棋盘格生成小工具
-
opencv haar检测训练成功xm
l - opencv实现的手势识别,石头剪刀布的
- 基于opencv的手势识别程序,亲测可用
- 人脸识别系统设计-毕业设计
- 相机标定完整工程vs
- 基于opencv的绊线检测代码
- OPENCV人眼检测
-
haarcascades人脸特征分类器xm
l文件 - opencv实现只有xy方向平移的图像拼接算
- Qt+Opencv-PCA人脸识别+视频
- 答题卡识别小程序
- Opencv2.1 的dll和lib文件 win系统的
- HDR_Code_Image.rar for opencv
- opencv毕业设计
- opencv3.4.1+opencv_contrib经vs2015编译后生成
- opencv交叉编译过程中boostdesc_bgm.i等一
- opencv网络摄像头功能和文件传输功能
- opencv410编译好的32位库
- OpenCV文字区域定位
- 利用PCL,OpenCV求取点云的体积
- opencv按像素切割图片并按照类别编号
- opencv三角测量一种代码实现
评论
共有 条评论