MFC空间几何变换之图像平移、镜像、旋转、缩放详解

MFC空间几何变换之图像平移、镜像、旋转、缩放详解

ID:44891921

大小:5.14 MB

页数:31页

时间:2019-11-01

MFC空间几何变换之图像平移、镜像、旋转、缩放详解_第1页
MFC空间几何变换之图像平移、镜像、旋转、缩放详解_第2页
MFC空间几何变换之图像平移、镜像、旋转、缩放详解_第3页
MFC空间几何变换之图像平移、镜像、旋转、缩放详解_第4页
MFC空间几何变换之图像平移、镜像、旋转、缩放详解_第5页
资源描述:

《MFC空间几何变换之图像平移、镜像、旋转、缩放详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、文档MFC空间几何变换之图像平移、镜像、旋转、缩放详解一.图像平移    前一篇文章讲述了图像点运算(基于像素的图像变换),这篇文章讲述的是图像几何变换:在不改变图像内容的情况下对图像像素进行空间几何变换的处理方式。     点运算对单幅图像做处理,不改变像素的空间位置;代数运算对多幅图像做处理,也不改变像素的空间位置;几何运算对单幅图像做处理,改变像素的空间位置,几何运算包括两个独立的算法:空间变换算法和灰度级插值算法。    空间变换操作包括简单空间变换、多项式卷绕和几何校正、控制栅格插值和图像卷绕,这里主要讲述简单的

2、空间变换,如图像平移、镜像、缩放和旋转。主要是通过线性代数中的齐次坐标变换。    图像平移坐标变换如下:    运行效果如下图所示,其中BMP图片(0,0)像素点为左下角。文档    其代码核心算法:    1.在对话框中输入平移坐标(x,y)m_xPY=x,m_yPY=y    2.定义Place=dlg.m_yPY*m_nWidth*3表示当前m_yPY行需要填充为黑色    3.新建一个像素矩阵 ImageSize=newunsignedchar[m_nImage]    4.循环整个像素矩阵处理        f

3、or(inti=0;i=Place&&countWidth=Place&&countWidth>=dlg.m

4、_xPY*3){//图像像素平移区域             ImageSize[i]=m_pImage[m_pImagePlace];//原(0,0)像素赋值过去             m_pImagePlace++; countWidth++;             if(countWidth==m_nWidth*3){ //一行填满 m_pImagePlace走到(0,1)                number++; m_pImagePlace=number*m_nWidth*3;            }

5、          }       }     5.写文件绘图fwrite(ImageSize,m_nImage,1,fpw)    第一步:在ResourceView资源视图中,添加Menu子菜单如下:(注意ID号)    第二步:设置平移对话框。将试图切换到ResourceView界面--选中Dialog,右键鼠标新建一个Dialog,并新建一个名为IDD_DIALOG_PY。编辑框(X)IDC_EDIT_PYX和(Y)IDC_EDIT_PYY,确定为默认按钮。设置成下图对话框:文档    第三步:在对话框资源模板空白

6、区域双击鼠标—Createanewclass创建一个新类--命名为CImagePYDlg。会自动生成它的.h和.cpp文件。打开类向导(CtrlW),选择类名:CImagePYDlg添加成员变量如下图所示,同时在MessageMaps中生成ID_JHBH_PY实现函数。 文档    第四步:在CImageProcessingView.cpp中添加头文件#include"ImagePYDlg.h",并实现平移。[cpp] viewplain copy1./***********************************

7、*********************/  2./* 图像空间几何变换:图像平移 ID_JHBH_PY(几何变换-平移)  3./* 使用平移对话框:CImagePYDlg dlg                      4./* 算法:f(x,y)=f(x+x0,y+y0)图像所有点平移,空的补黑'0'  5./* 注意该图像平移方法只是从左上角(0,0)处开始平移         6./* 其他方向原理相同 自己去实现                            7./*****************

8、***************************************/  8.  9.void CImageProcessingView::OnJhbhPy()   10.{  11.    if(numPicture==0) {  12.        AfxMessageBox("载入图片

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。