2012-04-22 32 views
5

tôi đã vượt qua rất nhiều thời gian tìm kiếm về cách chuyển đổi từ cv :: Mat hoặc CvMat sang CvArr nhưng không đạt được, hãy giúp tôi trong đó, cảm ơn.làm thế nào để chuyển đổi từ cv :: Mat tới CvArr?

+1

CvArr là tham số hàm "phương thức" để chuyển nhiều loại dữ liệu hình ảnh. Nó không phải là một loại mà là một loại siêu mẫu. Vì vậy, bất cứ điều gì bạn làm, nó là cvMat những gì bạn cần. – William

Trả lời

1

Bạn có chắc chắn bạn muốn chuyển đổi nó? đôi khi có chức năng tương đương sử dụng những gì bạn có. Ví dụ: cvMorphologyEx đang sử dụng CvArr nhưng morphologyEx đang sử dụng cv::Mat.

0

chuyển đổi đầu tiên hình ảnh bằng cách sử dụng sau đây:

IplImage* oldstyleimg = &matimg.operator IplImage() 

tôi don t nhớ nếu nó chỉ tạo ra các tiêu đề cho hình ảnh hoặc nó làm cho một bản sao

4

Khi tôi cần phải làm điều đó tôi chỉ sử dụng :

IplImage tmp = image; 

Với hình ảnh biến Mat.

3
Mat img = imread("C:\MyPic.jpg",CV_LOAD_IMAGE_GRAYSCALE); 
IplImage tmp=img; 
cvErode(&tmp, &tmp, 0, 2); 
Mat laser=&tmp; 
    imshow("Eroded",laser); 

Tôi đã chuyển đổi cv::Mat thành CvArr bằng cách này. Thay vì sử dụng tmp, hãy sử dụng trực tiếp &tmp.

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