資源簡介
可用于識別部分工件圖像上的數(shù)字,主要先進行圖像平滑、用canny算子進行邊緣檢測、再通過數(shù)字模板匹配來識別。
代碼片段和文件信息
#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?height;?j++)
for(?i?=?0;?i?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? for(?p?=?max_pixel.zb_x;?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個文件信息
- 上一篇:鉑電阻溫度測量系統(tǒng)的設計
- 下一篇:Tone-Reservation
評論
共有 條評論