cvRemap 对图像进行普通几何变换

        cvRemap 对图像进行普通几何变换

        函数 cvRemap 利用下面指定的矩阵变换输入图像:
  dst(x,y)<-src(mapx(x,y),mapy(x,y))
  与其它几何变换类似,可以使用一些插值方法(由用户指定,同cvResize)来计算非整数坐标的像素值

void cvRemap( const CvArr* src, CvArr* dst,const CvArr* mapx, const CvArr* mapy,int flags=CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS,CvScalar fillval=cvScalarAll(0) );
        src             输入图像.
  dst             输出图像.
  mapx        x坐标的映射 (32fC1 image).
  mapy        y坐标的映射 (32fC1 image).
  flags         插值方法和以下开关选项的组合:
                    CV_WARP_FILL_OUTLIERS - 填充边界外的像素. 如果输出图像的部分象素落在变换后的边界外,那么它们的值设定为 fillval。

#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
#include <iostream>
int Remap(int argc,char** argv)
{
uchar DataSrc[]={1,2,3,4,5,6,7,8,9
};
CvMat MatSrc;
cvInitMatHeader(&MatSrc,3,3,CV_8UC1,DataSrc); //初始化矩阵
CvMat *MatDst=cvCreateMat(3,3,CV_8UC1); //创建矩阵
//cvInitMatHeader(&MatDst,3,3,CV_8UC1);
float DataMapx[]={1,2,0,       //cvRemap函数的mapx一定要为float型1,2,0,1,2,0
};
CvMat mapx;
cvInitMatHeader(&mapx,3,3,CV_32FC1,DataMapx); //注意类型是CV_32FC1
float DataMapy[]={0,0,1,1,1,2,2,2,0
};
CvMat mapy;
cvInitMatHeader(&mapy,3,3,CV_32FC1,DataMapy);
cvRemap(&MatSrc,MatDst,&mapx,&mapy,CV_INTER_LINEAR | CV_WARP_FILL_OUTLIERS);
//打印原矩阵
std::cout<<"MatSrc=\'#\'" //打印mapx
std::cout<<"mapx:"<<std::endl;
for(int rows=0;rows<mapx.height;rows++)
{
float *DataPt=(float*)(mapx.data.ptr+rows*mapx.step);
for(int cols=0;cols<mapx.width;cols++)
{
float data=*(DataPt+cols);
std::cout<<(float)data<<" ";
}
std::cout<<std::endl;
}
//打印mapy
std::cout<<"mapy:"<<std::endl;
for(int rows=0;rows<mapy.height;rows++)
{
float *DataPt=(float*)(mapy.data.ptr+rows*mapy.step);
for(int cols=0;cols<mapy.width;cols++)
{
float data=*(DataPt+cols);
std::cout<<(float)data<<" ";
}
std::cout<<std::endl;
}
//打印结果矩阵
std::cout<<"MatDst:"<<std::endl;
for(int rows=0;rows<MatDst->height;rows++)
{
uchar *DataPt=(uchar*)(MatDst->data.ptr+rows*MatDst->step);
for(int cols=0;cols<MatDst->width;cols++)
{
uchar data=*(DataPt+cols);
std::cout<<(int)data<<" ";
}
std::cout<<std::endl;
}
return 0;
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/254948.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一篇需要膜拜的文篇--Javascript异步编程模型进化(转)

要我能用得这么熟&#xff0c; 那前端出师了哈。 http://foio.github.io/javascript-asyn-pattern/ 改天一个一个亲测一下。 Javascript语言是单线程的&#xff0c;没有复杂的同步互斥&#xff1b;但是&#xff0c;这并没有限制它的使用范围&#xff1b;相反&#xff0c;借助于…

CvMat,Mat和IplImage之间的转化和拷贝

1、CvMat之间的复制 //注意&#xff1a;深拷贝 - 单独分配空间&#xff0c;两者相互独立 CvMat* a; CvMat* b cvCloneMat(a); //copy a to b 2、Mat之间的复制 //注意&#xff1a;浅拷贝 - 不复制数据只创建矩阵头&#xff0c;数据共享&#xff08;更改a,b,c的任意一…

rtp协议详解/rtcp协议详解

、简介 目前&#xff0c;在IP网络中实现实时语音、视频通信和应用已经成为网络应用的一个主流技术和发展方向&#xff0c;本文详细介绍IP协议族中用于实时语音、视频数据传输的标准协议RTP&#xff08; Real-time Transport Protocol&#xff09;和RTCP&#xff08;RTP Control…

MVC开发中的常见错误-04-“System.NullReferenceException”类型的异常在 BBFJ.OA.WebApp.dll 中发生,但未在用户代码中进行处理...

未将对象引用设置到对象实例,又名空指针异常,伴随程序员开发的一生. 查看详细信息得知: SetUserRoleInfo() 首先想到的是 IBLL.IRoleInfoService RoleInfoService { set; get; }应该是config文件中反射出现了问题 <?xml version"1.0" encoding"utf-8"…

RTSP协议介绍

1. 实 时流协议RTSP RTSP[3]协 议以客户服务器方式工作&#xff0c;它是一个多媒体播放控制协议&#xff0c;用来使用户在播放从因特网下载的实时数据时能够进行控制&#xff0c;如&#xff1a;暂停/继 续、后退、前进等。因此 RTSP 又称为“因特网录像机遥控协议”。 1.1. …

mysql中出现没有权限访问或者查看全部数据库的问题---用客户端第一次打开的时候...

在my.cnf中mysqld目录下的socket/var/lib/mysql/mysql.sock一行下面添加skip_grant_tables---------------报错退出然后重新启动server mysqld restart 登录进去转载于:https://www.cnblogs.com/yecao8888/p/5661250.html

HALCON示例程序resistor.hdev通过不同焦距图像提取深度信息

小哥哥小姐姐觉得有用点个赞呗&#xff01; HALCON示例程序resistor.hdev通过不同焦距图像提取深度信息 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 Names : [] dev_close_window () for i : 1 to 10 by 1 Names : [Names,‘dff/focus_’ (i$’.2’)…

优秀项目解析:区块链上的房地产交易

区块链前哨导语&#xff1a;买房租房中&#xff0c;需要了解多少知识从而规避欺诈风险&#xff1f;如果区块链这一新兴技术与房地产这个古老的概念相结合&#xff0c;会碰撞出怎样的火花&#xff1f;房地产物业的所有权验证与转让将呈现出怎样的面貌&#xff1f;美国有家科技初…

HALCON示例程序rim.hdev轮圈孔检测提取字符

小哥哥小姐姐觉得有用点个赞呗&#xff01; HALCON示例程序rim.hdev轮圈孔检测提取字符 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 dev_update_off () dev_close_window () dev_open_window (0, 0, 768, 576, ‘black’, WindowID) set_display_font …

德国汽车厂发生机器人杀人事件 人机协作是大势所趋

OFweek机器人网讯&#xff1a;《金融时报》报道称&#xff0c;德国大众汽车制造厂中一个机器人杀死了一名人类工作人员。当时这名21岁的工人正在安装和调制机器人&#xff0c;后者突然“出手”击中工人的胸部&#xff0c;并将其碾压在金属板上。这名工人当场死亡。 调查人员正对…

HALCON示例程序sequence_diff.hdev通过两张连续图像进行车辆流量监控

小哥哥小姐姐觉得有用点个赞呗&#xff01; HALCON示例程序sequence_diff.hdev通过两张连续图像进行车辆流量监控 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 Thresh : 35 dev_update_window (‘off’) dev_update_pc (‘off’) dev_update_var (‘of…

HALCON示例程序stamp_catalogue.hdev分割图片与文字

小哥哥小姐姐觉得有用点个赞呗&#xff01; HALCON示例程序stamp_catalogue.hdev分割图片与文字 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 gen_rectangle1 (Rect, 0, 0, 5, 5) dev_update_var (‘off’) dev_update_window (‘off’) dev_close_win…

[BZOJ]1023: [SHOI2008]cactus仙人掌图

Time Limit: 1 Sec Memory Limit: 162 MB Description 如果某个无向连通图的任意一条边至多只出现在一条简单回路&#xff08;simple cycle&#xff09;里&#xff0c;我们就称这张图为仙人掌图&#xff08;cactus&#xff09;。所谓简单回路就是指在图上不重复经过任何一个顶…

实现RTP协议的H.264视频传输系统

1. 引言 随着信息产业的发展&#xff0c;人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频&#xff0c;并越来越强调获取资源的实时性和互动性。但人们又面临着另外一种不可避免的尴尬&#xff0c;就是在网络上看到生动清晰的媒体演示的同时&#xff0c;不得…

机器人网首页应用实例工业自动化 EtherCAT 技术在库卡机器人控制系统上的应用

自 2010 年以来&#xff0c;库卡一直采用 EtherCAT 技术作为所有库卡机器人控制系统中的系统总线。最新的 KR AGILUS 机器人和 LBR iiwa 轻型机器人的紧凑型控制器也是在 EtherCAT 基础上实施的。Beckhoff 基于工业以太网的 EtherCAT因而可以作为整个当前库卡控制系统范围内的…

KVM虚拟机共享存储动态迁移与冷迁移

运行环境一、 配置nfs共享服务器二、 配置KVM虚拟化三、 创建桥接网卡四、 配置kvm服务器并实现动态迁移五、 配置冷迁移运行环境KVM虚拟机两台&#xff08;linux 7.4&#xff09;IP地址&#xff1a;192.168.80.100&#xff08;KVM01&#xff09;IP地址&#xff1a;192.168.80.…

HALCON示例程序surface_scratch.hdev提取划痕

小哥哥小姐姐觉得有用点个赞呗&#xff01; HALCON示例程序surface_scratch.hdev提取划痕 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 dev_update_off () dev_close_window () read_image (Image, ‘surface_scratch’) get_image_size (Image, Width…

理解LSTM/RNN中的Attention机制

转自&#xff1a;http://www.jeyzhang.com/understand-attention-in-rnn.html&#xff0c;感谢分享&#xff01; 导读 目前采用编码器-解码器 (Encode-Decode) 结构的模型非常热门&#xff0c;是因为它在许多领域较其他的传统模型方法都取得了更好的结果。这种结构的模型通常将…

[BZOJ2326] [HNOI2011] 数学作业 (矩阵乘法)

Description Input Output Sample Input Sample Output HINT Source Solution 递推式长这样&#xff1a;$f[n]f[n-1]*10^kn$ 对于每一段位数个数相同的$n$&#xff08;如$10\sim99,100\sim999,23333\sim66666,1018701389\sim2147483647$&#xff09;&#xff0c;$k$是个定值 然…

HALCON示例程序texture.hdev检测树木

小哥哥小姐姐觉得有用点个赞呗&#xff01; HALCON示例程序texture.hdev检测树木 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 dev_close_window () Interactive : 0 dev_close_window () read_image (MreutHill, ‘mreut_y’) get_image_size (MreutH…