图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782
图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601

图像平移的概念就不用多说了,直接上经实测无误的代码吧!

源码一(C编程,不用MAT类)

#include <opencv2/opencv.hpp>
#include <opencv2/legacy/compat.hpp>
#include <fstream>
using namespace std;
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")  //该函数的功能是实现图像的平移
//规定向下、向右为(正,正)
IplImage *moveImage(IplImage *src,int h0,int w0)
{int h=h0;int w=w0;int imageHeight=src->height;int imageWidth=src->width;int i,j;CvScalar sTemp;IplImage *dst=cvCloneImage(src);cvSetZero(dst);if (h>=0 && w>=0){//for (i=0;i<imageHeight-h;i++){for (j=0;j<imageWidth-w;j++){sTemp=cvGet2D(src,i,j);cvSet2D(dst,i+h,j+w,sTemp);}}}else if (h<0 && w>=0){for (i=-h;i<imageHeight;i++){for (j=0;j<imageWidth-w;j++){sTemp=cvGet2D(src,i,j);cvSet2D(dst,i+h,j+w,sTemp);}}}else if (h>=0 && w<0){//for (i=0;i<imageHeight-h;i++){for (j=-w;j<imageWidth;j++){sTemp=cvGet2D(src,i,j);cvSet2D(dst,i+h,j+w,sTemp);}}}else if (h<0 && w<0){for (i=-h;i<imageHeight;i++){for (j=-w;j<imageWidth;j++){sTemp=cvGet2D(src,i,j);cvSet2D(dst,i+h,j+w,sTemp);}}}else{printf("cannot move!");dst=cvCloneImage(src);}return dst;
}int main(void)
{IplImage* pImg; //声明IplImage指针IplImage* pImgAfterMove;pImg=cvLoadImage("lena.jpg");pImgAfterMove=cvCloneImage(pImg);cvSetZero(pImgAfterMove);pImgAfterMove=moveImage(pImg,100,-100);cvNamedWindow("原图像",CV_WINDOW_AUTOSIZE);cvShowImage("原图像",pImg );cvNamedWindow("平移之后的图像",CV_WINDOW_AUTOSIZE);cvShowImage("平移之后的图像",pImgAfterMove);cvWaitKey(0); //等待按键cvDestroyWindow( "原图像" );//销毁窗口cvDestroyWindow( "平移之后的图像" );cvReleaseImage( &pImg ); //释放图像cvReleaseImage( &pImgAfterMove );return 0;
}

程序运行结果如下图所示:

上面的源码会改变图像的大小的源码,如果想写不改变图像大小的平移源码,可以参考  http://www.cnblogs.com/wangguchangqing/p/4039095.html 中的源码进行相应代码的修改!比如就借鉴链接中的思路去改我此博文中的源码也可以啊!

图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782
图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601

在OpenCV环境下写的两个图像平移C和C++源代码相关推荐

  1. 在OpenCV环境下写的灰度图像二维傅里叶换,幅值计算,频谱平移和将数值归一化到0到255区间的四个函数

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 灰度图像的二维傅里叶变换(cv_gray_fft ...

  2. 在MATLAB和OpenCV环境下写的灰度图像分段线性变换源码

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 分段线性变换的理论基础这里我就不多打字了,如有需 ...

  3. 在OpenCV环境下对图像做Gamma校正

    什么是Gamma校正? Gamma校正是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系. 上面中的指数γ即为Gamma. 经过Gamma校正后的输入和输出图像灰度值关系如 ...

  4. 手撸的C#.net2.0环境下写的快手小店开放平台的SDK提供下载

    由于近期要做快手小店开放平台的对接,获取快手小店的订单,商品等进行管理.所以就需要用到接口.但是快手小店开放平台open.kwaixiaodian.com只有java的sdk,我们开发的后端都是用的C ...

  5. 在ROS环境下使用KCF算法追踪图像

    在ROS环境下使用KCF算法追踪图像 项目是基于dji的[DJI Onboard SDK](dji-sdk/Onboard-SDK: DJI Onboard SDK Official Reposito ...

  6. C语言在VS2017环境下写俄罗斯方块的感悟

    C语言给几乎所有人的印象就是语法太严格.使用太拘谨,错误特别多,纠结太细致.很难提起兴趣来.同时还有如下的巨大弱势: 1:C语言写了很久还是只开发黑窗口程序,看不到实际应用在哪里,严重打击兴趣: 2: ...

  7. Linux挖坑脚本,Windows环境下写Linux sh脚本的一次挖坑和填坑

    最近在研究Docker集群和安装的时候,需要准备若干台机器.所以我为节约时间,打算批量复制VM机器,然后用sh脚本命令执行机器名称和IP等基础配置信息的修改. 具体操作:我在windows环境下,用N ...

  8. OpenCV添加(混合)两个图像

    OpenCV添加混合两个图像 OpenCV添加混合两个图像 目标 理论 源代码 解释 结果 OpenCV添加混合两个图像 目标 在本教程中,您将学习: 什么是线性混合以及为什么有用? 如何使用addW ...

  9. OpenCV环境下Laplace(拉普拉斯)和Roberts基本边缘检测算子的实现代码

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 拉普拉斯算子是最简单的各向同性二阶微分算子,具有 ...

最新文章

  1. 油管博主路透 3080Ti 参数、黄教主烤箱中拿出 DGX A100 预热发布会
  2. ARM 移植 PPPD
  3. 【Python 标准库学习】系统相关的参数和函数库 — sys
  4. 在Linux中查看ftp状态,linux中ftp常见操作启动ftp状态,终止ftp会话
  5. php隐藏表单提交表单提交表单_浅谈php提交form表单
  6. Response.Write 用法总结
  7. 【linux】gcc命令
  8. scipy安装_4. Python--Scipy库(下/13-17)
  9. 数据库方面是知识和实战
  10. 平面向量内积坐标公式推导_平面向量的所有公式-平面向量公式
  11. matlab怎么设置步长,请教matlab中怎么对变步长的数据进行处理
  12. 【转】很实用的编程英语词库,共收录一千五百余条词汇
  13. Docker初识:安装centos(ssh远程登录)
  14. 抓取汽车之家新闻资讯做安卓app新闻资讯数据
  15. GrayWorld 色彩均衡算法
  16. 在苹果CMS中为电脑和移动端设置不同的播放器接口
  17. JDK11安装教程(WIN10)
  18. 杰理之4.0工具固件升级【篇】
  19. linux系统源码安装dosbox,Linux-dosbox使用
  20. Ubuntu 7z安装

热门文章

  1. 想学python编程-【经验分享】新手如何快速学好Python?
  2. python有趣代码-你都知道哪些有趣的Python代码?
  3. python中怎么输出中文-python中使用print输出中文的方法
  4. python安装教程mac-Mac 上安装python3——手把手教程
  5. python输入输出-Python input()和print()终端输入输出
  6. python的优缺点有哪些-Python语言的优缺点有哪些
  7. 自己的电脑上怎么用python-如何做一个任何电脑都能用的python程序?
  8. python官方书籍-有哪些Python入门的书籍值得推荐?
  9. 学python有哪些书推荐-学python看什么书好?求推荐
  10. python用途与前景-java和Python的前景谁更好