【机器视觉】图像预处理

这里写目录标题

  • 图像预处理
  • 代码

图像预处理

【机器视觉】图像预处理_第1张图片
对图像做一些预处理(平滑、锐化、腐蚀和膨胀等功能)后并输出处理后的图像。

【机器视觉】图像预处理_第2张图片

代码

在 StdAfx.h 的头文件中添加 CKVISION 相关定义

#include"…\…\Include\CKBase.h"
#include"…\…\Include\CKGDI.h"

#ifdef_WIN64
#pragma comment(lib, “…\…\Lib_x64\CKBase.lib”)
#pragma comment(lib, “…\…\Lib_x64\CKGDI.lib”)
#else
#pragmacomment(lib, “…\…\Lib\CKBase.lib”)
#pragmacomment(lib, “…\…\Lib\CKGDI.lib”)
#endif

usingnamespaceCKVision;

在应用程序入口和退出的地方增加初始化和释放 CKVISION 库。

CKVision::InitLibrary(); // 初始化 CKVision 库
//…

//…End

CKVision::ExitLibrary(); // 退出 CKVision 库

在资源视图 Dialog 中添加相应的界面操作

//……详情请打开实例参考。

在对话框窗口的 .h 头文件中定义相应的图像处理功能:
CPrImage m_Image; // 基础图像
CPrImage m_Result; // 处理后的结果图像
CGdiView m_GdiView; // 图形显示视图窗口

在对话框窗口的.cpp 实现文件中添加相应的功能实现。

// 执行
voidCImageDemoDlg::OnExecute()
{
// TODO: Add your control notification handler code here

UpdateData( TRUE );

BeginTime();

switch( m_Combo1.GetCurSel() )
{
case 0:
ImgSmooth( m_Image, m_Result ); // 平滑
break;
case 1:
ImgSharp( m_Image, m_Result ); // 锐化
break;
case 2:
ImgSobel( m_Image, m_Result ); // Sobel边缘
break;
case 3:
ImgErode( m_Image, m_Result );// 腐蚀
break;
case 4:
ImgDilate( m_Image, m_Result );// 膨胀
break;

}
EndTime();

// 把处理结果图复制到当前图像
m_Image.Copy( m_Result );
m_GdiView.Redraw();
}

//……详情请打开实例参考。

你可能感兴趣的:(机器视觉,图像处理,计算机视觉,opencv)