我想一個C轉換++從previous answer方法我收到使用OpenCV的Java綁定通過OpenCV的墊在Java綁定循環
使用的OpenCV到JavaC++代碼:
cv::Mat gray;
cv::Mat element = cv::getStructuringElement(cv::MORPH_CROSS,
cv::Size(2 * erosion_size + 1, 2 * erosion_size + 1),
cv::Point(erosion_size, erosion_size));
cv::erode(gray, gray, element);
// Scan the image searching for points and store them in a vector
std::vector<cv::Point> points;
cv::Mat_<uchar>::iterator it = gray.begin<uchar>();
cv::Mat_<uchar>::iterator end = gray.end<uchar>();
for (; it != end; it++)
{
if (*it)
points.push_back(it.pos());
}
我想不通了解如何循環訪問C代碼中的gray
變量。下面是我到目前爲止有:
Java代碼:
Mat gray = new Mat();
Mat element = Imgproc.getStructuringElement(
Imgproc.MORPH_CROSS, new Size(2 * erosion_size + 1, 2 * erosion_size + 1), new Point(erosion_size, erosion_size)
);
Imgproc.erode(img, gray, element);
List <Point> p = new ArrayList<Point>();
//How to loop through the gray variable?
我通過API's去,似乎Mat
確實有越來越rows
和cols
方法,但我不能叫Iterator
上什麼..
就像我之前告訴過你,使用JavaCV 。 – syb0rg
@ syb0rg它看起來像你之前刪除了你的答案。不要被downvote嚇倒。它來自領土。 –
@DrewDormann我沒有被嚇到,而是投了票,接受了另一個答案,這意味着OP沒有聽取我的建議。如果他們願意的話,它會讓他們的生活變得更容易... – syb0rg