资源简介

可用于识别部分工件图像上的数字,主要先进行图像平滑、用canny算子进行边缘检测、再通过数字模板匹配来识别。

资源截图

代码片段和文件信息

#include “stdio.h“
#include “highgui.h“
#include “cv.h“


IplImage* makemoban( IplImage *pimg int n )
{
IplImage* gongjian0 = cvCreateImage( cvSize( pimg->width pimg->height ) IPL_DEPTH_8U 1);
IplImage* gongjian1 = cvCreateImage( cvSize( pimg->width pimg->height ) IPL_DEPTH_8U 1);
IplImage* gongjian2 = cvCreateImage( cvSize( pimg->width pimg->height ) IPL_DEPTH_8U 1);
IplImage* gongjian4 = cvCreateImage( cvSize( 55 30 ) IPL_DEPTH_8U 1);
IplImage* gongjian11 = cvCreateImage( cvSize( 23 30 ) IPL_DEPTH_8U 1);
IplImage* gongjian22 = cvCreateImage( cvSize( 17 30 ) IPL_DEPTH_8U 1);
IplImage* gongjian33 = cvCreateImage( cvSize( 15 30 ) IPL_DEPTH_8U 1);
IplImage* dst1 = cvCreateImage( cvSize( 23 30 ) IPL_DEPTH_8U 1);
IplImage* dst2 = cvCreateImage( cvSize( 17 30 ) IPL_DEPTH_8U 1);
IplImage* dst3 = cvCreateImage( cvSize( 15 30 ) IPL_DEPTH_8U 1);
IplImage* moban0 = cvCreateImage( cvSize( 30 50 ) IPL_DEPTH_8U 1);
    IplImage* dst;
cvCvtColor( pimg  gongjian0  CV_BGR2GRAY);
int ijj1i1;
int yxy1x1;
int t = 0;
typedef struct  strlarge
{
int zb_x ;
int zb_y ;
int val ;
}point;
strlarge max_pixel;
max_pixel.val = 0;
int qp;
int x11x22x33y11y22y33;
cvSmooth( gongjian0 gongjian1 CV_GAUSSIAN 3 3 3 );
cvReleaseImage( &gongjian0 );
cvCanny( gongjian1  gongjian2  200  100  3);
cvReleaseImage( &gongjian1 );
int xx;
for( xx = 0; xx < 3; xx++)
{
for( j = 0; j < gongjian2->height; j++)
for( i = 0; i < gongjian2->width; i++)
{
if( i == 0 || j == 0 || i == gongjian2->width - 1 || j == gongjian2->height - 1)
{
((uchar *)gongjian2->imageData + j * gongjian2->widthStep)[i] = 0;
continue;
}
if( ((uchar *)gongjian2->imageData + j * gongjian2->widthStep)[i] == 255 )
{
int s = 0;
for( j1 = 0; j1 < 3; j1++)
for( i1 = 0; i1 < 3; i1++ )
if( ((uchar *)gongjian2->imageData + (j + j1 - 1) * gongjian2->widthStep )[i + i1 - 1] == 255 )
s++;
if( s < 3 )
((uchar *)gongjian2->imageData + j * gongjian2->widthStep)[i] = 0;
}
}
}
for( y = 0; y <= gongjian2->height - 30; y++)
for( x = 0; x <= gongjian2->width - 55; x++)
{
int sum = 0;
for( y1 = 0; y1 < 30; y1++)
for( x1 = 0; x1 < 55; x1++)
sum = sum + ((uchar *)gongjian2->imageData + (y + y1) * gongjian2->widthStep)[x + x1];
if( sum > max_pixel.val )
{
max_pixel.val = sum;
max_pixel.zb_y = y;
max_pixel.zb_x = x;
}
}
for( q = max_pixel.zb_y; q < max_pixel.zb_y + 30; q++)
for( p = max_pixel.zb_x; p < max_pixel.zb_x + 55; p++)
((uchar *)gongjian4->imageData + (q - max_pixel.zb_y) * gongjian4->widthStep)[p - max_pixel.zb_x] = 
((uchar *)gongjian2->imageData + q * gongjian2->widthStep)[p];

cvReleaseImage( &gongjian2 );

for( y11 = 0; y11 < 30; y11++)
for( x11 = 0; x11 < 23; x11++)
((uchar *)gongjian11->imageData + y11 * gongjian11->widthSt

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      16350  2010-03-20 12:17  7\canny.cpp

     文件       4049  2010-03-04 09:06  7\canny.dsp

     文件        535  2010-03-04 09:06  7\canny.dsw

     文件      66560  2010-04-06 22:00  7\canny.ncb

     文件      48640  2010-04-06 22:00  7\canny.opt

     文件        244  2010-03-30 09:30  7\canny.plg

     文件      40398  2010-03-04 22:49  7\ch10.bmp

     文件      41554  2010-03-04 22:47  7\ch5.bmp

     文件      39906  2010-03-04 22:48  7\ch8.bmp

     文件     200741  2010-03-20 12:17  7\Debug\canny.exe

     文件      30610  2010-03-20 12:17  7\Debug\canny.obj

     文件     517120  2010-03-20 12:17  7\Debug\canny.pdb

     文件          0  2010-03-10 12:57  7\Debug\canny.sbr

     文件      14690  2010-03-04 09:06  7\Debug\Image_1.BMP

     文件      14690  2010-03-04 09:06  7\Debug\Image_10.BMP

     文件      14690  2010-03-04 09:06  7\Debug\Image_2.bmp

     文件      14690  2010-03-04 09:06  7\Debug\Image_3.BMP

     文件      14690  2010-03-04 09:06  7\Debug\Image_4.BMP

     文件      14690  2010-03-04 09:06  7\Debug\Image_5.BMP

     文件      14690  2010-03-04 09:06  7\Debug\Image_6.BMP

     文件      14690  2010-03-04 09:06  7\Debug\Image_7.BMP

     文件      14690  2010-03-04 09:06  7\Debug\Image_8.BMP

     文件      14690  2010-03-04 09:06  7\Debug\Image_9.BMP

     文件     102400  2010-03-20 12:17  7\Debug\vc60.pdb

     文件      14690  2010-03-04 09:06  7\Image_1.BMP

     文件      14690  2010-03-04 09:06  7\Image_10.BMP

     文件      14690  2010-03-04 09:06  7\Image_2.bmp

     文件      14690  2010-03-04 09:06  7\Image_3.BMP

     文件      14690  2010-03-04 09:06  7\Image_4.BMP

     文件      14690  2010-03-04 09:06  7\Image_5.BMP

............此处省略9个文件信息

评论

共有 条评论