【 OpenCV】——图像平移
【 OpenCV】——图像平移
前言
本文介绍了图像平移的基础内容。
使用步骤
##1.引入库
#include<opencv2/opencv.hpp>
#include<opencv2/core/core.hpp>
#include<opencv2/imgcodecs.hpp>
#include<opencv2/highgui.hpp>
#include<opencv2\imgproc\types_c.h>
#include<iostream>
using namespace std;
using namespace cv;## 2.读入数据
//平移改变大小
Mat fun(Mat &img, int xx, int yy)
{int nrows = img.rows;int ncols = img.cols;Mat img1(img.size(), img.type());//遍历图像for (int i = 0; i < nrows; i++){for (int j = 0; j < ncols; j++){//映射变换int x = j - xx;int y = i - yy;//边界判断if (x >= 0 && y >= 0 && x < ncols&&y < nrows){//把行y列x的img上的图像元素值复制到目标图像(i,j)位置上img1.at<Vec3b>(i, j) = img.ptr<Vec3b>(y)[x];}}}return img1;
}
//平移不改变大小
Mat fun1(Mat &img, int xx, int yy)
{int nrows = img.rows+abs(yy);int ncols = img.cols+abs(xx);Mat img1(nrows,ncols, img.type());for (int i = 0; i < nrows; i++){for (int j = 0; j < ncols; j++){int x = j - xx;int y = i - yy;//边界判断if (x >= 0 && y >= 0 && x < ncols&&y < nrows){img1.at<Vec3b>(i, j) = img.ptr<Vec3b>(y)[x];}}}return img1;
}
int main()
{Mat img;//读取图像img = imread("F:\\专高CV2\\图片\\520.jpg");imshow("原图", img);//向右平移int xx = 50;int yy = 80;Mat img1 = fun(img, xx, yy);imshow("平移改变大小1", img1);Mat img2 = fun1(img, xx, yy);imshow("平移不改变大小", img2);//向左平移int xx1 = -50;int yy1 = -80;Mat img3 = fun(img, xx1, yy1);imshow("平移改变大小2", img3);waitKey(0);
}
效果图展示
总结
以上是一个简单图片平移的代码段,读取一张图片,将图片进行向左、向右平移。
【 OpenCV】——图像平移相关推荐
- Python OpenCV 图像平移,取经之旅第 10 天
今天是持续写作的第 43 / 100 天. 如果你有想要交流的想法.技术,欢迎在评论区留言. 本篇博客学习 OpenCV 中关于图像平移的方法,核心学习到的方法是 warpAffine . 取经之旅第 ...
- opencv 图像平移、缩放、旋转、翻转 图像仿射变换
图像几何变换 图像几何变换从原理上看主要包括两种:基于2x3矩阵的仿射变换(平移.缩放.旋转.翻转).基于3x3矩阵的透视变换. 图像平移 opencv实现图像平移 实现图像平移,我们需要定义下面这样 ...
- OpenCV 图像平移
图像平移将图像安装指定方向和距离,移动到相应的位置. cv.warpAffine(img, M, dsize) img:输入图像 M: 2*3移动矩阵 注意:将M设置为np.float32类型的Num ...
- OpenCV-Python学习(18)—— OpenCV 图像几何变换之图像平移(cv.warpAffine)
1. 学习目标 学习图像的平移矩阵: 学习 OpenCV 图像平移函数. 2. 图像的平移矩阵 平移是物体位置在水平和垂直方向的移动. 像素点 (x,y) 沿 x 轴平移 dx.沿 y 轴平移 dy, ...
- 使用Python,OpenCV进行图像平移转换
使用Python,OpenCV进行图像平移转换 1. 效果图 2. 原理 3. 源码 参考 这篇博客将介绍如何使用Python,OpenCV对图像进行平移转换.平移是图像沿x轴和y轴的移动.使用平移, ...
- 在OpenCV环境下写的两个图像平移C和C++源代码
图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 图像平移的概念就不用多说了,直接上经实测无误的代 ...
- opencv python 图像缩放/图像平移/图像旋转/仿射变换/透视变换
Geometric Transformations of Images 1图像转换 OpenCV提供了两个转换函数cv2.warpAffine和cv2.warpPerspective,可以使用它们进行 ...
- 基于OpenCV实现图像平移
[1]理论知识 图像平移就是将图像中所有的点按照指定的平移量水平或者垂直移动 [2]完整代码 /*--------------------------------------------------- ...
- OpenCV 图像旋转、平移、缩放
本文是 OpenCV图像视觉入门之路的第7篇文章,本文详细的进行了图像的缩放 cv2.resize().旋转 cv2.flip().平移 cv2.warpAffine()等操作. OpenCV 图像旋 ...
- Opencv图像缩放和平移
图像缩放 缩放是对图像大小进行调整,即使图像放大或缩小. API: cv.resize(src,dsize,fx=0,fy=0,interpolation=cv2.INTER_LINEAR) 参数: ...
最新文章
- JS BOM之location.hash详解
- Run-Time Check Failure #0,The value of ESP was not properly saved 错误解决
- Ocelot中文文档-缓存
- 互联网 4 大发明之二维码,你如何使用 Python 生成二维码?
- 采蘑菇的克拉莉丝(树链剖分)
- centos6安装mysql并远程连接_Ubantu下MySQL安装、部署和远程连接
- git 怎么还原历史版本_4. Git--修改/回退等操作
- 在 Web 级集群中动态调整 Pod 资源限制
- 修改Linux系统默认编辑器
- 常用的php类、方法、函数 注释标记
- mysql 使用内置函数来进行模糊搜索(locate()等)
- 190410每日一句
- 小新air14学计算机,小新Air14对比小新Pro13哪个更香,盘点办公学习的
- matlab保形,保形分段三次hermite插值
- 二、循环神经网络(RNN与LSTM)
- Android Room的使用
- HTML5仿苹果Siri动画js特效
- MapReduce稍微高级编程之PageRank算法的实现
- 特斯拉与宁波旭升 EDI项目案例
- html5 图形组件,数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇