我有這樣的代碼:我應該初始化CV ::墊
mapx.create(image.size(), CV_32FC1);
mapy.create(image.size(), CV_32FC1);
什麼是在這之後的MapX與mapy值是多少?所有的數據都是零嗎?
你看這個類型的初始化:
cv::Mat mapx(image.size(), CV_32FC1);
我需要明確地設置每個元素的值爲零?
如何設置每個元素的值來表示-1?
我有這樣的代碼:我應該初始化CV ::墊
mapx.create(image.size(), CV_32FC1);
mapy.create(image.size(), CV_32FC1);
什麼是在這之後的MapX與mapy值是多少?所有的數據都是零嗎?
你看這個類型的初始化:
cv::Mat mapx(image.size(), CV_32FC1);
我需要明確地設置每個元素的值爲零?
如何設置每個元素的值來表示-1?
數據應該是不確定的。事實上,你只是分配內存。
cv::Mat mapx(image.size(), CV_32FC1);
是完全一樣的
cv::Mat1f mapx(image.size());
和
cv::Mat mapy;
mapy.create(image.size(), CV_32FC1);
您可以指定一個初始值(例如-1)是這樣的:
cv::Mat1f(images.size(), -1.f);
關於你的主要問題我應該初始化嗎? ialize cv :: Mat,答案是一般你不需要。從OpenCV的DOC:
而是寫的:
Mat color;
...
Mat gray(color.rows, color.cols, color.depth());
cvtColor(color, gray, CV_BGR2GRAY);
可以簡單的寫:
Mat color;
...
Mat gray;
cvtColor(color, gray, CV_BGR2GRAY);
你可以看到OpenCV的文檔:
Mat::zeros
Mat::ones
Mat A = Mat::ones(100, 100, CV_8U)*3; // make 100x100 matrix filled with 3.
http://docs.opencv.org/modules/core/doc/basic_structures.html#mat-zeros
我怎麼能每個元素的值設置爲-1說?
我覺得這樣的事情:
create
後
Mat A = Mat::ones(100, 100, CV_8U)*-1; // make 100x100 matrix filled with -1.
感謝。如果我不使用這種方法,map中每個元素的值是多少?它是未知的還是零或..? – mans