2015-04-03 78 views
2

我有CV_32F類型和口罩M用二進制值0和255爲例子的墊A,如何屏蔽OpenCV中的浮動墊

A = [0.1 0.2; 0.3 0.4] 
M = [1 0 ; 0 0 ] 

我想A&B = [0.1, 0;0 0] 雖然結果按位操作在浮動墊上不起作用。我試圖將掩碼轉換爲CV_32F,然後像下面這樣掩碼,也不起作用。

M.convertTo(M, CV_32F); 
A.copyTo(A, M); 

那麼該怎麼辦呢?

+0

爲什麼你需要的蒙版轉換'CV_32F'? – herohuyongtao 2015-04-03 15:22:45

+0

轉換與否,都無法工作 – Frazer 2015-04-04 03:01:52

+0

請提供您的代碼並解釋它是如何工作的。 – herohuyongtao 2015-04-04 05:17:53

回答

2

您的代碼不工作,因爲,隨着Mat::copyTo的醫生說,功能不處理源和目標矩陣之間部分重疊的情況下,當源和目標矩陣是相同的在你的情況。

你應該保存到其他地方,結果,就像

cv::Mat dst; 
A.copyTo(dst, M); // dst is what you want