假設我有一個用數值初始化的二維數組,我該如何將這個值放入OpenCV中的Mat對象?OpenCV如何使用JAVA中的二維數組初始化Mat
3
A
回答
2
對不起,不瞭解Java,但可以提出一般邏輯。在C++ OpenCV的,我們做了2 for loops
如下:
matObject.create(array.rows, array.cols, CV_8UC1); // 8-bit single channel image
for (int i=0; i<array.rows; i++)
{
for(int j=0; j<array.cols; j++)
{
matObject.at<uchar>(i,j) = array[i][j];
}
}
讓我知道這是否是你查詢..
0
是matObject關鍵字或這意味着我們有墊的名字來代替圖片? 例如,如果我已將圖像定義爲:
Mat inputImage = imread(「C:\ Documents and Settings \ user \ My Documents \ My Pictures \ Images \ imageName.jpg」);
那麼我應該把inputImage而不是matObject?
4
大概就像這將工作:
float trainingData[][] = new float[][]{ new float[]{501, 10}, new float[]{255, 10}, new float[]{501, 255}, new float[]{10, 501} };
Mat trainingDataMat = new Mat(4, 2, CvType.CV_32FC1);//HxW 4x2
for (int i=0;i<4;i++)
trainingDataMat.put(i,0, trainingData[i]);
代碼是自我解釋:你有「TrainingData」陣列中的數據,而你分配新墊目標。然後你使用「put」方法來推動行。
0
使用可以使用Mat的put方法。 代碼
int[][] intArray = new int[][]{{2,3,4},{5,6,7},{8,9,10}};
Mat matObject = new Mat(3,3,CvType.CV_8UC1);
for(int row=0;row<3;row++){
for(int col=0;col<3;col++)
matObject.put(row, col, intArray[row][col]);
}
0
使用到
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat array= Highgui.imread("java.png" ,CvType.CV_8UC1);
Mat matObject = new Mat();
matObject.create(array.rows(), array.cols(),CvType.CV_8UC1);
for (int i=0; i<array.rows(); i++)
{
for(int j=0; j<array.cols(); j++)
{
matObject.put(i, j, array.get(i, j));
}
}
Highgui.imwrite("java2.jpg", matObject);
相關問題
- 1. 處理/初始化二維數組(Java)
- 2. 二維數組初始化
- 3. 初始化二維數組
- 4. 初始化二維數組
- 5. C中的二維數組初始化
- 6. 使用Java初始化多維數組
- 7. C - 如何初始化一個預初始化的二維數組數組?
- 8. 在Python中初始化二維數組
- 9. 如何從double數組初始化Mat?
- 10. 使用堆棧初始化二維數組 - Java
- 11. 的Clojure/core.matrix /初始化二維數組
- 12. 初始化二維數組的問題
- 13. 如何使用memset初始化動態二維數組?
- 14. 如何初始化Verilog-2005中的二維參數數組?
- 15. 無法初始化Java中的對象的二維數組
- 16. 如何在C中用零初始化二維數組#
- 17. Malloc錯誤初始化二維數組
- 18. C++二維數組初始化
- 19. 初始化二維數組對象
- 20. 打字稿初始化二維數組
- 21. Typescript - 初始化二維數組錯誤
- 22. 動態二維數組初始化
- 23. 二維數組未正確初始化
- 24. 在Java中未正確初始化的二維數組
- 25. Java中的二維數組聲明和初始化
- 26. 如何在Swift 2中初始化一個二維數組?
- 27. 如何在C中初始化這個二維數組?
- 28. 如何在一個類中初始化二維數組?
- 29. 初始化二維數組像一維數組
- 30. 如何初始化創建的對象的二維數組?
什麼是matObject.at(I,J)=陣列[i] [j]的選擇;在JAVA中?我找不到任何東西。 –
Rabbir
對不起,我不知道java ...但它只是訪問位置(i,j)處的像素的一種方法,這是圖像處理中的基本事情,所以應該非常容易。在'matObject.at(i,j)= array [i] [j];',我們只是在'(i,j)'處訪問圖像的像素並在該位置放置一個值。 PS:不要忘了做適當的類型轉換。如果存儲在數組中的值是整型,那麼'matObject.at (i,j)=(uchar)array [i] [j];' –
skm
非常感謝您的幫助.. :) – Rabbir