最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

图像处理opencv代码

来源:动视网 责编:小OO 时间:2025-09-29 23:27:32
文档

图像处理opencv代码

#include"stdafx.h"#include"mymfc.h"#include"mymfcDlg.h"#include"afxdialogex.h"#include#ifdef_DEBUG#definenewDEBUG_NEW#endif//用于应用程序“关于”菜单项的CAboutDlg对话框classCAboutDlg:publicCDialogEx{public://对话框数据支持//实现protected:};CAboutDlg::CAboutDlg():CDialogEx(CA
推荐度:
导读#include"stdafx.h"#include"mymfc.h"#include"mymfcDlg.h"#include"afxdialogex.h"#include#ifdef_DEBUG#definenewDEBUG_NEW#endif//用于应用程序“关于”菜单项的CAboutDlg对话框classCAboutDlg:publicCDialogEx{public://对话框数据支持//实现protected:};CAboutDlg::CAboutDlg():CDialogEx(CA
#include "stdafx.h"

#include "mymfc.h"

#include "mymfcDlg.h"

#include "afxdialogex.h"

#include

#ifdef _DEBUG

#define new DEBUG_NEW

#endif

// 用于应用程序“关于”菜单项的 CAboutDlg 对话框

class CAboutDlg : public CDialogEx

{

public:

// 对话框数据

 支持

// 实现

protected:

};

CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)

{

}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)

{

}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)

END_MESSAGE_MAP()

// CmymfcDlg 对话框

CmymfcDlg::CmymfcDlg(CWnd* pParent /*=NULL*/)

{

}

void CmymfcDlg::DoDataExchange(CDataExchange* pDX)

{

}

BEGIN_MESSAGE_MAP(CmymfcDlg, CDialogEx)

END_MESSAGE_MAP()

// CmymfcDlg 消息处理程序

BOOL CmymfcDlg::OnInitDialog()

{

 将“关于...”菜单项添加到系统菜单中。

 必须在系统命令范围内。

 

 

 

 

 

 

  

  

 

 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动

 执行此操作

    设置大图标

   设置小图标

 在此添加额外的初始化代码

 除非将焦点设置到控件,否则返回 TRUE

}

void CmymfcDlg::OnSysCommand(UINT nID, LPARAM lParam)

{

 

 

 

}

// 如果向对话框添加最小化按钮,则需要下面的代码

//  来绘制该图标。对于使用文档/视图模型的 MFC 应用程序,

//  这将由框架自动完成。

void CmymfcDlg::OnPaint()

{

  用于绘制的设备上下文

 

  使图标在工作区矩形中居中

 

 

 

 

 

 

  绘制图标

 

 

 

  重绘对话框

 

  更新windows窗口,如果无这步调用,图片显示还会出现问题

 

  重绘图片函数

}

//当用户拖动最小化窗口时系统调用此函数取得光标

//显示。

HCURSOR CmymfcDlg::OnQueryDragIcon()

{

}

v读取图片操作

{

 在此添加控件通知处理程序代码

 这里用CFileDialog来选择图片

 

 

 

 

 打开文件对话框的标题名

 判断是否获得图片

 

 

 获取图片路径

 读取图片

 判断是否成功读取图片

   

 

 

}

void CmymfcDlg::ShowImage(IplImage* img, UINT ID)  // ID 是Picture Control控件的ID号

{

 获得显示控件的 DC

 获取 HDC(设备句柄) 来进行绘图操作 

    

 

 求出图片控件的宽和高

   

 读取图片的宽和高

 

 使图片的显示位置正好在控件的正中

 

 复制图片

 将图片绘制到显示控件的指定区域内

 

 

}

void CmymfcDlg::ResizeImage(IplImage* img)

{

 读取图片的宽和高

 

 找出宽和高中的较大值者

 

 计算将图片缩放到TheImage区域所需的比例

 

 缩放后图片的宽和高

 

 为了将缩放后的图片存入 TheImage 的正中部位,需计算图片在 TheImage 左上角的期望坐标值

 

 设置 TheImage 的 ROI 区域,用来存入图片 img

 

 对图片 img 进行缩放,并存入到 TheImage 中

 

 重置 TheImage 的 ROI 准备读入下一幅图片

}

v算法的边缘检测

{

 在此添加控件通知处理程序代码

    ShowImage( edge, IDC_ShowImg );            // 调用显示图片函数

 

}

v恢复图片

{

 在此添加控件通知处理程序代码

 将读入的图片路径传给mPath

 读取图片、缓存到一个局部变量 ipl 中

 判断是否成功读取图片

   

 对上一幅显示的图片数据清零

 

 对读入的图片进行缩放,使其宽或高最大值者刚好等于 256,再复制到 TheImage 中

 

 调用显示图片函数

}

void CmymfcDlg::OnBnClickedGrayprocess()  //灰度图像的转化

{

 在此添加控件通知处理程序代码

 释放图片的内存空间

}

v用cvSobel函数的边缘检测

{

 在此添加控件通知处理程序代码

    ShowImage( edge, IDC_ShowImg );            // 调用显示图片函数

}

v用cvLaplace函数实现图像的拉普拉斯变换

{

 在此添加控件通知处理程序代码

    ShowImage( edge, IDC_ShowImg );            // 调用显示图片函数

}

v傅里叶正变换方法

{

 实部、虚部

 实部

 虚部

}

void CmymfcDlg::OnBnClickedFft2()

{

 在此添加控件通知处理程序代码

 源图像

 傅里叶系数

 加载源图像,第二个参数表示将输入的图片转为单信道

 傅里叶变换

 中心化

 实现傅里叶逆变换,并对结果进行缩放

 将shift加在ImageRe各元素按比例缩放的结果上,存储为ImageDst

 傅里叶谱",0);

 傅里叶谱",Image);

}

v傅里叶变换

{

 计算傅里叶谱

 对数变换以增强灰度级细节(这种变换使以窄带低灰度输入图像值映射

 进行中心变换

 中心化,将整体份成四块进行对角交换

 

 

  归一化处理将矩阵的元素值归一为[0,255]

}

void CmymfcDlg::OnBnClickedCimage()  //图片的反转

{

 在此添加控件通知处理程序代码

 这里用克隆函数将原图片复制给cImage

 利用翻转函数cvFlip()将cImage反转

}

v图像的镜像

{

 在此添加控件通知处理程序代码

 这里用克隆函数将原图片复制给cImage

 利用翻转函数cvFlip()将cImage反转

}

void CmymfcDlg::OnBnClickedCcolor()  //图像的反色

{

 在此添加控件通知处理程序代码

 这里用克隆函数将原图片复制给cImage

 利用函数cvNot()将cImage每个像素点取反

 

}

v非线性滤波之中值滤波

{

 在此添加控件通知处理程序代码

 灰度原始图像

 这里用克隆函数将sreImage图片复制给dstImage

}

v高斯滤波

{

 在此添加控件通知处理程序代码

 灰度原始图像

 这里用克隆函数将sreImage图片复制给dstImage

}

v双边滤波

{

 在此添加控件通知处理程序代码

 灰度原始图像

 这里用克隆函数将sreImage图片复制给dstImage

}

v图片的均值滤波

{

 在此添加控件通知处理程序代码

 灰度原始图像

 这里用克隆函数将sreImage图片复制给dstImage

}

v图片的腐蚀

{

 在此添加控件通知处理程序代码

 灰度原始图像

 这里用克隆函数将sreImage图片复制给dstImage

   使用cvErode()函数实现图片的腐蚀

}

v图片的膨胀

{

 在此添加控件通知处理程序代码

 灰度原始图像

 这里用克隆函数将sreImage图片复制给dstImage

 使用cvDilate()函数实现图片的膨胀

}

文档

图像处理opencv代码

#include"stdafx.h"#include"mymfc.h"#include"mymfcDlg.h"#include"afxdialogex.h"#include#ifdef_DEBUG#definenewDEBUG_NEW#endif//用于应用程序“关于”菜单项的CAboutDlg对话框classCAboutDlg:publicCDialogEx{public://对话框数据支持//实现protected:};CAboutDlg::CAboutDlg():CDialogEx(CA
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top