opencv 重映射、x轴翻转,y轴翻转,xy轴镜像,图像缩小
本章内容
重映射、x轴翻转,y轴翻转,xy轴镜像,图像缩小
输出结果:
源码
#include <ostream>
#include <opencv.hpp>
#include <math.h>int main(int argc, char *argv[])
{
/*
本章内容:
重映射Reamap
*/
cv::String fileName = "/home/wang/dev/Image/biuld.jpeg";
cv::String fileName1 = "/home/wang/dev/Image/pingpang.jpeg";
cv::Mat src = cv::imread(fileName);
cv::Mat src2 = cv::imread(fileName1);
if(src.data == NULL){
printf("图像读入失败\n");
return -1;
}
/*重映射
* api接口:CV_EXPORTS_W void remap( InputArray src, OutputArray dst,
InputArray map1, InputArray map2,
int interpolation, int borderMode = BORDER_CONSTANT,
const Scalar& borderValue = Scalar());@param map1 x轴映射
@param map2 y轴映射
@param interpolation Interpolation method (see #InterpolationFlags).
enum InterpolationFlags {
INTER_NEAREST = 0,
INTER_LINEAR = 1,
INTER_CUBIC = 2,
}
*/
cv::Mat mapX(src.rows,src.cols,CV_32FC1);
cv::Mat mapY(src.rows,src.cols,CV_32FC1);
cv::String winName = "";
for(int i=0; i < src.rows;i++){
for(int j=0; j <src.cols;j++){
switch(0){
case 0:
winName="关于x轴翻转";
mapX.at<float>(i,j) = src.cols - j; //关于x轴翻转
mapY.at<float>(i,j) =i;
break;
case 1: // 关于y轴翻转
winName="关于y轴翻转";
mapX.at<float>(i,j) = j;
mapY.at<float>(i,j) =src.rows - i ;
break;
case 2: // 关于x,y翻转
winName="关于x,y翻转";
mapX.at<float>(i,j) = src.cols - j;
mapY.at<float>(i,j) =src.rows - i ;
break;
case 3: // 缩小并平移
winName="缩小并平移";
mapX.at<float>(i,j) = j*2 - src.cols/4;
mapY.at<float>(i,j) = i*2 - src.rows/4;
break;
}
}}
cv::Mat dstX;
cv::remap(src,dstX,mapX,mapY,cv::INTER_LINEAR);
cv::imshow("src",src);
cv::imshow(winName,dstX);cv::waitKey(0);
return 1;
}
opencv 重映射、x轴翻转,y轴翻转,xy轴镜像,图像缩小相关推荐
- 【OpenCV入门教程之十七】OpenCV重映射 SURF特征点检测合辑
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/30974513 作者:毛星云(浅墨) ...
- html图片沿y轴转换,html-使用CSS水平翻转/垂直翻转/镜像图像
我试图翻转图像以显示4种方式:原始(无变化),水平翻转,垂直翻转,水平+垂直翻转. 为了做到这一点,我在下面做,除了水平+垂直翻转之外,它还可以正常工作,你知道为什么它不起作用吗? 香港专业教育学院的 ...
- OpenCV之imgproc 模块. 图像处理(3)霍夫线变换 霍夫圆变换 Remapping 重映射 仿射变换
霍夫线变换 目标 在这个部分您将学习到: 使用OpenCV的以下函数 HoughLines 和 HoughLinesP 来检测图像中的直线. 原理 Note 以下原理的说明来自书籍 学习OpenCV ...
- 【OpenCV 】Remapping 重映射¶
目录 1.1目标 1.2 理论 1.3 代码 1.4 运行结果 1.1目标 展示如何使用OpenCV函数 remap 来实现简单重映射. 1.2 理论 把一个图像中一个位置的像素放置到另一个图片指定位 ...
- [OpenCV] cv.remap() 重映射学习笔记/map1 map2易混点
文章目录 一.背景 二.Notes (一)更新几个小例子方面理解remap 1. 利用remap 进行 copy 2.进行翻转 学习remap的时候发现map1和map2的参数跟我的直观理解略有差别, ...
- OpenCV:remap()简单重映射
学习自:[OpenCV入门教程之十七]OpenCV重映射 重映射,就是把一幅图像中某位置的像素放置到另一个图片指定位置的过程. 为了完成映射过程, 我们需要获得一些插值为非整数像素的坐标,因为源图像与 ...
- 边缘检测、霍夫变换、重映射、仿射变换、直方图均衡化
文章目录 1.基于 OpenCV 的边缘检测 1.1 边缘检测的一般步骤 1.2 canny 算子 1.2.1 canny 边缘检测的步骤 1.2.2 Canny 边缘检测:Canny() 函数 1. ...
- OpenCV重新映射Remapping
OpenCV重新映射Remapping 重新映射Remapping 目标 理论 什么是重新映射? 代码 这个程序做什么? 解释 结果 重新映射Remapping 目标 在本教程中,您将学习如何: 一种 ...
- 不同屏幕分辨率 坐标_干货 | 小议光固化3D打印XY轴分辨率精度
当提到分辨率,我们可能立马想到电视.手机.平板电脑等电子产品.分辨率跟这些电子产品的清晰度息息相关.在3D打印行业,分辨率同样经常被提及,因为它对于3D成品质量也有着较大的影响.二维平面(XY方向)以 ...
最新文章
- 图神经网络如何对知识图谱建模? | 赠书
- 如何在自己开发的日程管理页面插入提醒功能_微信中6个藏得很深但却很有用的功能...
- MySQL中如何创建表与删除表
- Python学习笔记:web开发2
- Java面试技巧之MySQL问题梳理
- 曝光原理_泰国精戈咖啡效果反馈 作用原理曝光
- windows下xmllib2使用简介 64位
- 1:1 人脸比对 开源_打破5个神话:在高等教育中使用开源
- Fedora 8中完全开启compiz-fusion特效
- 机器学习深度学习知识点总结
- Java编写的日历,输入年月,输出这个月的日期与星期
- Java后台返回PDF文件预览下载
- 电力电子课设日志(已完结)
- 火狐浏览器——问题解决:网络正常但无法打开百度页面和搜索功能
- DirectX简单的FBX文件加载(网格MESH)
- 分布式事务解决方案FESCAR
- 【戴师兄数分】excel基础操作——函数专题(个人笔记)
- 本机电脑清除DNS缓存+浏览器清除DNS缓存
- 9.27 英语听力练习
- linux ddos防御攻击