一 學習內容
1 影象對映
1.1 影象對映---對映到不同的座標位置(例如:影象上下對稱、左右對稱、對角線對稱、縮小等)
1.2 關於對映表的設定:值為對映後的座標位置
二 **除錯
#include #include #include using namespace cv;
using namespace std;
mat src,map_x, map_y,dst_remap;
char figure1 = "figure1";
char figure2_remap = "figure2_remap";
char figure3_remap = "figure3_remap";
char figure4_remap = "figure4_remap";
char figure5_remap = "figure5_remap";
char figure6_remap = "figure6_remap";
void zl_remap(void);
int index = 0;//設定索引,用於獲得不同條件下的對映表
int main()
namedwindow(figure1,cv_window_autosize);
imshow(figure1,src);
//學習新內容:影象對映---對映到不同的座標位置(例如:影象上下對稱、左右對稱、對角線對稱、縮小等)
//1. 設定對映表
map_x.create(src.size(),cv_32fc1);//x座標對映表,值為對映後的座標位置
map_y.create(src.size(), cv_32fc1);//y座標對映表,值為對映後的座標位置
//2. 呼叫函式:根據設定的對映表,完成影象對映
int c = 0;//鍵盤輸入
namedwindow(figure2_remap, cv_window_autosize);
while (true)
index = c % 4;
zl_remap();
remap(src, dst_remap,map_x,map_y,inter_linear,border_constant,scalar(100,100,200));
imshow(figure2_remap, dst_remap);
} //waitkey(0);
return 0;
}void zl_remap(void)
else
break;//一定要加上這個,要不然按鍵之後,影象不更新
case 1:
map_x.at(row, col) = src.cols-1 - col;
map_y.at(row, col) = src.rows-1 - row;
break;//一定要加上這個,要不然按鍵之後,影象不更新
case 2:
map_x.at(row, col) = src.cols - 1 - col;
map_y.at(row, col) = row;
break;//一定要加上這個,要不然按鍵之後,影象不更新
case 3:
map_x.at(row, col) = col;
map_y.at(row, col) = src.rows - 1 - row;
break;//一定要加上這個,要不然按鍵之後,影象不更新
//default:
//break;
}} }
}
三 除錯結果
shell學習記錄 2 2
echo 這是指令碼的名稱 0 echo 這是指令碼的第1個引數 1 echo 這是指令碼的第2個引數 2 echo 這是指令碼的第3個引數 3 echo 這是指令碼的第4個引數 4 echo 這是指令碼的第5個引數 5 echo 這是指令碼的第6個引數 6 echo 這是指令碼的第7個引數 7 e...
opencv學習筆記 22 圓檢測
使用霍夫圓檢測的時候需要注意的是 霍夫圓檢測對雜訊特別敏感,需要對影象進行降噪處理。有時候出錯可以是因為處理過度或者沒有處理造成,我們可以通過顯示處理之後的影象檢查出錯點。import cv2 as cv import numpy as np defdetect circles demo image...
學習opencv記錄 三)
include include highgui.h include cv.h 這種訪問操作比cvget系列函式更快,因為不需要入棧出棧,只是通過指標偏移來進行的 int main int argc,char argv cvmat mat cvinitmatheader mat,3,6,cv 32fc...