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.pswp.cn/news/254948.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254948.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254948.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

disconf(二):服務端使用總結

1、服務端原理客戶端啟動&#xff0c;把配置文件&#xff0c;配置項存到倉庫&#xff0c;等到服務端啟動&#xff0c;從服務端拉取數據&#xff1b;服務端更新&#xff0c;則通過zk通知客戶端&#xff0c;客戶端知道更新后&#xff0c;會從服務端拉取最新的配置文件&#xff0c…

B2C和B2B之間有多大差距

從產品應用的角度&#xff0c;我們團隊經歷了企圖將B2C系統套用到B2B業務流程上的階段&#xff0c;對于自營業務這還勉強可以實施&#xff0c;但對于外部用戶的實施難度就太大了&#xff0c;用戶體驗也不好。這個過程中&#xff0c;我只關注了技術范疇的迭代速度、而忽略了用戶…

h.264 視頻解碼的一點小經驗(ffmpeg)

最近做視頻文件264解碼&#xff0c;由于對這個領域不是很熟悉&#xff0c;感覺困難重重。不過經過不懈的努力&#xff0c;已經取得一些進展&#xff0c;心里感覺特別慶幸。 剛開始做這個的時候&#xff0c;由于不熟悉&#xff0c;就在網上搜尋資料&#xff0c;網絡上的資料雖然…

HALCON示例程序novelty_detection_dyn_threshold.hdev紗網缺陷檢測

HALCON示例程序novelty_detection_dyn_threshold.hdev紗網缺陷檢測 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_update_window (‘off’) read_image (Image, ‘plastic_mesh/plastic_mesh_01’) dev_close_window () get_image_size (Image, Width…

配置云服務器 FTP 服務

自己配置的環境: OS: 阿里云 CentOS 6.5 >>Begin: 1. 登錄到阿里云服務器(如何登錄阿里云服務器), 在root權限下, 通過如下命令安裝 vsftp [rootVM_250_202_tlinux ~]# yum install vsftpd 2. 在啟動vsftpd服務之前&#xff0c;需要登錄云服務器修改配置文件&#xff0c;…

【躍遷之路】【428天】程序員高效學習方法論探索系列(實驗階段185-2018.04.09)...

(躍遷之路)專欄 實驗說明 從2017.10.6起&#xff0c;開啟這個系列&#xff0c;目標只有一個&#xff1a;探索新的學習方法&#xff0c;實現躍遷式成長實驗期2年&#xff08;2017.10.06 - 2019.10.06&#xff09;我將以自己為實驗對象。我將開源我的學習方法&#xff0c;方法不斷…

opencv中的一些陷阱 坑死我了~~~~(_)~~~~

1.這幾天被opencv給坑的夠慘&#xff0c;好好的程序&#xff0c;先是因為imread&#xff08;&#xff09;不能讀文件&#xff0c;整了很久沒整出來&#xff0c;然后改了下path路徑&#xff0c;沒想到后面徹底奔潰了&#xff0c;&#xff0c;&#xff0c;&#xff0c;前后大概2天…

一篇需要膜拜的文篇--Javascript異步編程模型進化(轉)

要我能用得這么熟&#xff0c; 那前端出師了哈。 http://foio.github.io/javascript-asyn-pattern/ 改天一個一個親測一下。 Javascript語言是單線程的&#xff0c;沒有復雜的同步互斥&#xff1b;但是&#xff0c;這并沒有限制它的使用范圍&#xff1b;相反&#xff0c;借助于…

很強大的FFMPEG API Documentation

http://wiki.aasimon.org/doku.php?idffmpeg:ffmpeg 點擊打開鏈接

HALCON示例程序obj_diff.hdev算子obj_diff 的使用

HALCON示例程序obj_diff.hdev算子obj_diff 的使用 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 read_image (Image, ‘particle’)二值化 threshold (Image, Region, 57, 255)分割連通域 connection (Region, ConnectedRegions) dev_close_window () get…

JS函數方法Call Apply Bind運用

JS 函數非繼承的call和apply方法 同&#xff1a;call & apply 主要是用于擴展this指向&#xff0c;降低this作用域與函數之間的耦合度&#xff1b; 區別&#xff1a;傳參差異 function.call(this/object,params1,params2,...) 第一個參數為作用域指向參數&#xff0c;后邊參…

IplImage, CvMat, Mat 的關系和相互轉換 再次理解 /(ㄒoㄒ)/~~

opencv中常見的與圖像操作有關的數據容器有Mat&#xff0c;cvMat和IplImage&#xff0c;這三種類型都可以代表和顯示圖像&#xff0c;但是&#xff0c;Mat類型側重于計算&#xff0c;數學性較高&#xff0c;openCV對Mat類型的計算也進行了優化。而CvMat和IplImage類型更側重于“…

HALCON示例程序optical_flow.hdev如何使用optical_flow_mg計算圖像序列中的光流以及如何分割光流。

HALCON示例程序optical_flow.hdev如何使用optical_flow_mg計算圖像序列中的光流以及如何分割光流。 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_update_off () dev_close_window () read_image (Image1, ‘xing/xing000’) dev_open_window_fit_ima…

數字信號處理原理

關于傅里葉變換的解釋&#xff0c;在下面的鏈接&#xff1a;http://blog.jobbole.com/70549/ 。講的挺詳細的&#xff1a; 注意點&#xff1a; 1、信號處理基于這么一個概念&#xff0c;待處理的信號&#xff08;&#xff1f;&#xff09;都可以分解為正弦波&#xff0c;不同…

webpack的一些常用配置 (轉)

webpack 的配置文件就是 Node 的一個模塊&#xff0c;它導出的將是一個對象 module.exports {entry: ./entry,output: {path: path.resolve(__dirname, dist),filename: bundle.js} }如果直接使用 webpack 來執行編譯&#xff0c;webpack 默認讀取的是當前目錄下的 webpack.co…

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的任意一…

HALCON示例程序particle.hdev測量小圓部分

HALCON示例程序particle.hdev測量小圓部分 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_update_off () dev_close_window () dev_open_window (0, 0, 512, 512, ‘black’, WindowID) set_display_font (WindowID, 14, ‘mono’, ‘true’, ‘false’…

Java List 分頁

//分頁&#xff0c;根據country或者site分br/>Overridepublic List<Integer> getSitesPage(Integer parentLevel, Integer currentPage) {List<Integer> subFrames getSites(parentLevel) ;int currentNum ( currentPage - 1 ) * CardViewUtil.PREPAGE_NUM ;D…

跟多導出數據庫的方法

鏈接&#xff1a;http://www.2cto.com/database/201207/139330.html轉載于:https://www.cnblogs.com/nycj/p/5661151.html

rtp協議詳解/rtcp協議詳解

、簡介 目前&#xff0c;在IP網絡中實現實時語音、視頻通信和應用已經成為網絡應用的一個主流技術和發展方向&#xff0c;本文詳細介紹IP協議族中用于實時語音、視頻數據傳輸的標準協議RTP&#xff08; Real-time Transport Protocol&#xff09;和RTCP&#xff08;RTP Control…