我是Android中的OpenCV新手。我試圖將C++代碼轉換成Java。我被困在某些我無法繼續的地步。將Vec4i轉換成Java openCV
std::vector<cv::Vec4i> lines;
cv::HoughLinesP(bw, lines, 1, CV_PI/180, 70, 30, 10);
// Expand the lines
for (int i = 0; i < lines.size(); i++)
{
cv::Vec4i v = lines[i];
lines[i][0] = 0;
lines[i][1] = ((float)v[1] - v[3])/(v[0] - v[2]) * -v[0] + v[1];
lines[i][2] = src.cols;
lines[i][3] = ((float)v[1] - v[3])/(v[0] - v[2]) * (src.cols - v[2]) + v[3];
}
半路上我轉換..高達的TODO
MatOfInt4 lines= new MatOfInt4();
Imgproc.HoughLinesP(bw, lines, 1, Math.PI/180, 70, 30, 10);
int[] lineArray = lines.toArray();
// Expand the lines
//TODO
for (int i = 0; i < lineArray.length; i++)
{
int v = lineArray[i];
lines.[i][0] = 0;
lines[i][1] = ((float)v[1] - v[3])/(v[0] - v[2]) * -v[0] + v[1];
lines[i][2] = src.cols();
lines[i][3] = ((float)v[1] - v[3])/(v[0] - v[2]) * (src.cols() - v[2]) + v[3];
}
,我很困惑裏面的for循環。當將行轉換爲數組時,它會給出一個int數組。但是在for循環中又定義了哪個應該是一個數組。我沒有明白這一點。任何人都可以幫助我解決這個問題。先謝謝你。
我已經實現了這個。但我無法在合成的Mat上找到任何線條。請指導 - –