资源简介
利用opencv的亚像素级别的边缘检测和获取,添加了原有程序的包含文件和库,可以直接调试运行,个边参数可以根据实际情形修改
代码片段和文件信息
#include
#include “cxcore.h“ //OpenCV头文件
#include “highgui.h“
#include “cv.h“
#include “ImProcess.h“
//***************************************************
CHTimer::CHTimer()
{
m_lStartTime=0;
m_lEndTime=0;
m_lPersecond=0;
m_fTime=0.0;
QueryPerformanceFrequency((LARGE_INTEGER *)&m_lPersecond);//询问系统一秒钟的频率
}
//***************************************************
CHTimer::~CHTimer()
{
}
//***************************************************
//启动计时
void CHTimer::StartTime()
{
QueryPerformanceCounter((LARGE_INTEGER *)&m_lStartTime);
}
//***************************************************
//停止计时
void CHTimer::EndTime()
{
QueryPerformanceCounter((LARGE_INTEGER *)&m_lEndTime);
}
//***************************************************
//获得计时时间(ms)以毫秒为单位
double CHTimer::GetTime()
{
m_fTime=(double)(m_lEndTime-m_lStartTime)/m_lPersecond;
m_fTime=m_fTime*1000;
return m_fTime;
}
//***************************************************
//滤波算法
void hFilter( IplImage* src //源图像
IplImage* dst //目标图像,即滤波后的图像
int nThreshold) //阈值,调用时nThreshold=0,函数使用默认值,否则以该值作为阈值
{
int nWidth=0nHeight=0;
char* pSrcData=NULL;
char* pDstData=NULL;
int nSrcStep=0nDstStep=0;
int h=0w=0nh=0nw=0;
int nPA[9]nSum1=0nSum2=0nMax=0nTemp=0;
nWidth=src->width-1;
nHeight=src->height-1;
nSrcStep=src->widthStep;
nDstStep=dst->widthStep;
pSrcData=src->imageData;
pDstData=dst->imageData;
if (nThreshold==0)
nThreshold=30;
//对边缘点的处理为原值
for (w=0;w {
((uchar*)pDstData)[w]=((uchar*)pSrcData)[w];
((uchar*)(pDstData+nHeight*nDstStep))[w]=((uchar*)(pSrcData+nHeight*nSrcStep))[w];
}
for (h=0;h {
((uchar*)(pDstData+h*nDstStep))[0]=((uchar*)(pSrcData+h*nSrcStep))[0];
((uchar*)(pDstData+h*nDstStep))[nWidth]=((uchar*)(pSrcData+h*nSrcStep))[nWidth];
}
for (h=1;h {
for (w=1;w {
nPA[0]=((uchar*)(pSrcData+(h-1)*nSrcStep))[w-1];
nPA[1]=((uchar*)(pSrcData+(h-1)*nSrcStep))[w];
nPA[2]=((uchar*)(pSrcData+(h-1)*nSrcStep))[w+1];
nPA[3]=((uchar*)(pSrcData+h*nSrcStep))[w-1];
nPA[4]=((uchar*)(pSrcData+h*nSrcStep))[w];
nPA[5]=((uchar*)(pSrcData+h*nSrcStep))[w+1];
nPA[6]=((uchar*)(pSrcData+(h+1)*nSrcStep))[w-1];
nPA[7]=((uchar*)(pSrcData+(h+1)*nSrcStep))[w];
nPA[8]=((uchar*)(pSrcData+(h+1)*nSrcStep))[w+1];
nSum1=nPA[0]+nPA[3]+nPA[6];
nSum2=nPA[2]+nPA[5]+nPA[8];
nMax=AbsInt(nSum1-nSum2);
nSum1=nPA[0]+nPA[1]+nPA[3];
nSum2=nPA[5]+nPA[7]+nPA[8];
nTemp=AbsInt(nSum1-nSum2);
if (nTemp>nMax)
nMax=nTemp;
nSum1=nPA[0]+nPA[1]+nPA[2];
nSum2=nPA[6]+nPA[7]+nPA[8];
nTemp=AbsInt(nSum1-nSum2);
if (nTemp>nMax)
nMax=nTemp;
nSum1=nPA[1]+nPA[2]+nPA[5];
nSum2=nPA[3]+nPA[6]+nPA[7];
nTemp=AbsInt(nSum1-nSum2);
if (nTemp>nMax)
nMax=nTemp;
if (nMax {
nTemp=nSum1+nSum2+nPA[
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1300214 2012-10-25 10:49 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\aifeng.bmp
文件 82526 2012-10-19 16:44 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\alf.bmp
文件 308278 2010-01-07 18:53 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\b1.bmp
文件 308278 2010-01-07 18:54 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\b2.bmp
文件 308278 2010-01-07 18:58 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\b3.bmp
文件 308278 2010-01-07 19:01 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\b4.bmp
文件 1229878 2012-10-11 17:03 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\chip-insp-82.bmp
文件 1229878 2012-10-11 17:04 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\chip-insp-83.bmp
文件 1229878 2012-10-11 17:06 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\chip-insp-86.bmp
文件 1229878 2012-10-11 17:07 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\chip-insp-89.bmp
文件 1229878 2012-10-11 17:11 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\chip-insp-95.bmp
文件 55272 2006-09-27 20:02 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\cv.h
文件 2211 2004-08-05 18:32 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\cv.hpp
文件 80482 2006-10-18 21:49 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\cv.lib
文件 843824 2006-10-18 21:49 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\cv100.dll
文件 598067 2006-10-18 21:50 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\cvaux100.dll
文件 49152 2006-10-19 17:16 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\cvcam100.dll
文件 41738 2006-07-12 19:47 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\cvcompat.h
文件 12868 2005-11-22 21:42 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\cvtypes.h
文件 2425 2006-10-12 22:42 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\cvver.h
文件 74979 2006-09-20 17:09 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\cxcore.h
文件 12681 2006-10-06 19:59 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\cxcore.hpp
文件 81678 2006-10-18 21:49 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\cxcore.lib
文件 1011764 2006-10-18 21:49 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\cxcore100.dll
文件 8881 2006-09-06 17:24 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\cxerror.h
文件 131133 2006-10-18 21:50 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\cxts001.dll
文件 53467 2006-09-08 19:33 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\cxtypes.h
文件 26912 2009-09-15 22:59 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\Debug\ImProcess.obj
文件 21283 2009-09-15 22:59 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\Debug\main.obj
文件 225367 2009-09-15 22:59 亚像素级别的边缘检测和获取\SubPixelEdgeDetection\Debug\SubPixelEdgeDetection.exe
............此处省略47个文件信息
- 上一篇:SinoLogPro中文使用手册.pdf
- 下一篇:统计学关我什么事
相关资源
- 数字图像中边缘检测算法研究
- vs2010+opencv 图像处理,边缘检测,可设
- 多种亚像素计算方法
- harris角点检测并精确到亚像素级坐标
- CVPR2019论文BDCN的Pytorch代码
- 第十节 图像处理之边缘检测
- 图像的边缘检测本科论文
- 《图像分割--canny算子》超详细PPT,适
- 基于边缘检测的canny算法
- 论文研究-基于改进的Canny算子的焊缝
- 研究论文-基于边缘检测与分裂合并的
- 论文研究-图像边缘检测效果的边缘连
- FPGA的图像边缘检测
- 图像亚像素平移
- 边缘检测和SnakeModel结合的轮廓识别
- 双线性插值的方法求出亚像素
- 一种改进的基于Canny算子的图像边缘提
- 一种改进的Sobel图像边缘检测算法.p
- 点击图像上任意一点,即可输出该点
- 一种基于多项式插值改进的亚像素细
- 灰度距亚像素边缘检测
- labview图像处理,卷积,线性,相关滤
- labview边缘检测
- 亚像素边缘检测源代码
- 基于CCS的SobeL边缘检测
- 边缘检测图像边缘检测
- 一种快速结构光条纹中心亚像素精度
- 基于神经网络的边缘检测
- Log和Canny边缘检测算子
- 基于FPGA的sobel边缘检测
评论
共有 条评论