| 查看: 2262 | 回复: 21 | |||
[交流]
MFC 单文档实现图像缩放
|
|||
| 各位大哥,大姐,刚学VS2010,大概这样的,我想在工具栏上加两个按钮,一个实现图像放大,一个实现图像缩小,按钮有了,图像缩放的代码是啥啊?希望能赐教啊。 |
» 猜你喜欢
交叉科学部支持青年基金,对三无青椒是个机会吗?
已经有7人回复
青椒八年已不青,大家都被折磨成啥样了?
已经有15人回复
多组分精馏求助
已经有4人回复
免疫学博士有名额,速联系
已经有4人回复
国家基金申请书模板内插入图片不可调整大小?
已经有6人回复
国家级人才课题组招收2026年入学博士
已经有5人回复
Fe3O4@SiO2合成
已经有6人回复
青年基金C终止
已经有4人回复
26申博求博导推荐-遥感图像处理方向
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
关于单点能计算的问题
已经有8人回复
单分散纳米颗粒的TEM--自组装??
已经有22人回复
工程博士授权高校名单(首批25所高校)
已经有12人回复
单位的管理权限被收回,现在无法上传计划书,怎么办????紧急求助!
已经有10人回复
紫菜中MAA单体的分离
已经有3人回复
单亲妈妈带4岁女儿公派联培一年,可行吗?
已经有167人回复
【求助】网报时有一项“留学单位是否收取注册费及其他费用”
已经有10人回复
【转帖】MFC与Qt混合编程---“官方文档”的缩写
已经有8人回复
【分享】2011国家公务员面试名单——537个单位完全版本(某论坛内部人士流出)
已经有14人回复
【求助】塑料做扫描电镜不喷金或喷碳是不是就得不到清晰的图像
已经有9人回复
【求助】MFC中关于如何自动实现菜单或者按钮的鼠标点击事件?????
已经有6人回复
【求助】diamond怎么只出现一个单胞结构
已经有4人回复
【求助】VC++MFC编程,对话框调用单文档,还要处理一些画图的东西
已经有16人回复
【其他】2010年部分英国公派研究生项目留学人员录取名单确定
已经有4人回复
【求助】XRD图像整体向小角度偏移是怎么回事?
已经有42人回复
» 抢金币啦!回帖就可以得到:
nanomaterials特刊:纳米材料在电化学能源领域的应用(SCI 中科院三区,IF4.5)征稿
+5/200
“超分子材料交叉研究团队”联合诚聘博士后 [清华/吉大/复旦/北大]
+1/76
征婚
+1/60
以色列理工-生物质塑料等催化转化及流体力学方向---全奖博士研究生和科研助理
+2/40
教育部重点实验室和清华大学某国家重点实验室,联合培养硕生、博生,并长期招博士后
+1/30
【青岛大学】2026年生物与医药申请考核制博士生招生(含少数民族骨干人才)
+1/27
中国科学院上海光学精密机械研究所 特种强激光薄膜课题组
+1/25
以色列理工-生物质塑料等催化转化及流体力学方向---全奖博士研究生和科研助理
+2/16
复旦大学化学系凡勇教授/张凡教授团队招聘博士后
+1/15
西班牙巴塞罗那访学、博后、留学互动
+1/13
诚征女友,非诚勿扰
+3/11
四川大学华西医院沈百荣教授课题组科研助理招聘启事
+1/10
美国University of Tennessee ~$43,000/yr奖学金 cellulose chemistry and MOFs
+2/8
法国斯特拉斯堡大学有机光伏全奖博士招聘
+1/7
第一性原理模拟计算
+1/5
华南理工大学宋波教授招聘材料和化学方向博士后(长期有效)
+1/2
澳科大诚招2026年秋季全奖博士研究生(药剂学/生物材料方向)
+1/2
生信(包括AI)博后招聘(3名):美国德州理工大学健康科学中心
+1/2
福建师范大学柔性电子学院 院士团队招2026级博士 光电器件、发光传感忆阻器
+1/1
层流压差式MFM/MFC在SOFC高温工况中的适配应用
+1/1
★ ★ ★
霸王晓(金币+1): 谢谢参与
conanwj: 金币+2, 应助指数+1, 感谢应助 2012-07-31 23:02:42
霸王晓(金币+1): 谢谢参与
conanwj: 金币+2, 应助指数+1, 感谢应助 2012-07-31 23:02:42
|
简单的缩放方法是 线性插值,但是锯齿效应比较明显,优点是计算速度快; 还有一个双线性插值,比线性插值要好,但是速度要稍微慢一些。 还有更加复杂的,像双三次插值,基于保护边缘的Bresenham插值等等。 最实用的还是双线性插值,下面是以前我写的代码,你可以参考一下: /*********************************************** * 函数功能:实现图像的缩放功能 * 输入参数:输入原始图像 unsigned char *pSrcImg * 原始图像的宽度 int SrcWid 列 对应坐标J SrcJ * 原始图像的高度 int SrcHgh 行 对应坐标I SrcI * 输出缩放图像 unsigned char *pDstImg * 缩放图像的宽度 int DstWid * 缩放图像的高度 int DstHgh * 返 回 值:函数运行成功 0 * 函数运行失败 -1 ***********************************************/ int biLinear(unsigned char *pSrcImg, int SrcWid, int SrcHgh, unsigned char *pDstImg, int DstWid, int DstHgh) { /********************************************************* * 需要注意的事情: * 1.卷积时对边界的处理,同时还要注意与MATLAB的坐标区别 * 2.防止出现溢出,像素类型为unsigned char,防止存储超过255的值 ********************************************************/ float HghExp, WidExp ; // 保存行列的缩放值 int Si, Sj ; // 保存映射整数坐标 float p, q ; // 保存映射小数坐标 int s1, s2, s3, s4; int i, j, flag; if((NULL ==pSrcImg) || (NULL == pDstImg) || (SrcWid < 1) || (SrcHgh <1) || (DstWid < 1) || (DstHgh < 1)) { return -1; } // 计算缩放比例 HghExp = float(DstHgh) / float(SrcHgh); WidExp = float(DstWid) / float(SrcWid); // 插值公式:pDstImg(i,j) = (1 - p) * (1 - q) * pSrcImg(Si, Sj ) // + (1 - p) * q * pSrcImg(Si + 1, Sj ) // + p * (1 - q) * pSrcImg(Si, Sj + 1) // + p * q * pSrcImg(Si + 1, Sj + 1); for(i = 1 ; i < DstHgh-1; i++) { for(j = 1; j < DstWid-1 ; j++) { Si = int(i / HghExp); Sj = int(j / WidExp); p = i / HghExp - Si; q = j / WidExp - Sj; s1 = pSrcImg[(Si)*SrcWid + Sj ]; // pSrcImg(Si, Sj) s2 = pSrcImg[(Si + 1)*SrcWid + Sj ]; // pSrcImg(Si + 1, Sj) s3 = pSrcImg[(Si )*SrcWid + Sj+ 1 ]; // pSrcImg(Si, Sj + 1) s4 = pSrcImg[(Si+ 1 ) *SrcWid + Sj+ 1 ]; // pSrcImg(Si + 1, Sj + 1) flag = int((1-p)*(1-q)*s1 + (1-p)*q*s2 + p*(1-q)*s3 + p*q * s4 + 0.5); pDstImg[i*DstWid + j] = (flag > 255)? 255: flag; // 防止溢出 } } return 0; } [ Last edited by denghblzu9237 on 2012-7-31 at 18:53 ] |
2楼2012-07-31 18:52:00
3楼2012-07-31 19:27:38
4楼2012-07-31 19:33:20
5楼2012-07-31 19:41:44
6楼2012-07-31 23:25:55
10楼2012-08-01 08:27:34
11楼2012-08-01 08:32:36
16楼2012-08-03 15:03:25
17楼2012-08-03 16:39:01
15楼2012-08-01 13:08:33
19楼2012-08-06 09:47:06
简单回复
2012-08-01 08:13
回复
霸王晓(金币+1): 谢谢参与
祝福
2012-08-01 08:19
回复
霸王晓(金币+1): 谢谢参与
祝福
2012-08-01 08:26
回复
霸王晓(金币+1): 谢谢参与
youdao112楼
2012-08-01 08:38
回复
霸王晓(金币+1): 谢谢参与
wendy313楼
2012-08-01 08:46
回复
霸王晓(金币+1): 谢谢参与
stary-198214楼
2012-08-01 08:51
回复
霸王晓(金币+1): 谢谢参与
yingying158818楼
2012-08-04 21:37
回复
霸王晓(金币+1): 谢谢参与
祝福!
strive12312320楼
2012-08-06 09:54
回复
霸王晓(金币+1): 谢谢参与
han32871442521楼
2012-12-30 07:17
回复
霸王晓(金币+1): 谢谢参与
su-b0822楼
2012-12-30 15:18
回复















回复此楼
霸王晓