2012-04-14 39 views
11

Có một số hàm openCV mà tôi có thể chuyển vào một số cv::Mat và nhận tổng của tất cả các giá trị trong chúng không?OpenCV: Nhận tổng giá trị Mat

Ví dụ: int cvSumFoo(Mat &srcMat); Tôi đang mong đợi một int trở lại

tôi tạo ra nó như thế này:

srcMat= new Mat(rows, cols, CV_8U); 

Tôi muốn tránh tạo ra vòng lặp của riêng tôi nếu có thể.

+0

có thể trùng lặp của [tổng các phần tử trong ma trận trong cv mở?] (Http://stackoverflow.com/questions/21874774/sum-of-elements-in-a-matrix-in-open-cv) – Kiran

Trả lời

15

Hàm 'tổng' tính toán và trả về tổng các phần tử mảng, độc lập cho mỗi kênh. "

Bạn có thể tìm thấy thông tin ở đây: http://docs.opencv.org/modules/core/doc/operations_on_arrays.html#sum

+0

Cảm ơn bạn! đã làm được điều đó. Nó luôn luôn giúp sử dụng mã đã có trong openCV để giữ mã của bạn sạch sẽ. Mọi thứ trông tốt hơn bây giờ. – roboto1986

5

Tôi biết rằng người hỏi không hỏi cho các chức năng trong Java OpenCV, nhưng tôi vẫn muốn thể hiện như thế nào để làm điều đó trong Java, bởi vì:

  1. "tổng cộng" -function trong Java được đặt tên hoàn toàn khác nhau và là trong một lớp học khác nhau
  2. Java OpenCV ví dụ API là thưa thớt

Mã cho in một số tiền trong Java OpenCV là:

Core.sumElems(myMat); 

Rõ ràng là, nó là không một chức năng của "Scalar "-class và tên của nó là không phảisum().

+0

Thực ra, cảm ơn bạn đã chia sẻ! – roboto1986

+0

Tôi cũng đang sử dụng Java opencv - điều này rất hữu ích. – mayhewsw

+0

Làm thế nào để bạn nhận được một giá trị số nguyên từ Scalar này? Ví dụ: Tôi đang nhận được (12550,0,0,0) – nette

Các vấn đề liên quan