Tôi muốn làm một điều rất đơn giản: sao chép một khu vực bên trong một hình ảnh vào một khu vực mới trong một hình ảnh mới. Trong OpenCV 2.3 cheatsheet, họ đề nghị các giải pháp sau đây:Sao chép vùng của một hình ảnh sang vùng khác trong một hình ảnh khác
"Ví dụ 3. Sao chép ảnh ROI để một hình ảnh với chuyển đổi"
Rect r(1, 1, 10, 20);
Mat dstroi = dst(Rect(0,10,r.width,r.height));
src(r).convertTo(dstroi, dstroi.type(), 1, 0);
Mã của tôi là như sau:
Mat frameO, frameS;
original >> frameO;
stabilized >> frameS;
Mat output(frameO.rows+40, frameO.cols*2+60, CV_32FC3);
output.setTo(0);
Rect r(0,0, frameO.cols, frameO.rows);
Mat destROI = output(Rect(20,20, frameO.cols, frameO.rows));
frameO(r).copyTo(destROI);
Tôi chỉ muốn sao chép hình ảnh frameO
ở đầu ra tại vị trí Rect(20,20, frameO.cols, frameO.rows)
.
Bất cứ ai cũng có thể cho tôi biết lý do tại sao điều này không hoạt động?
Đoạn mã bạn cung cấp chưa hoàn tất. Bạn có thể xin vui lòng gửi toàn bộ mã, bao gồm cả các hoạt động mà bạn thực sự thực hiện các bản sao. – ypnos
bản sao có thể có của [Cách đặt ROI trong OpenCV?] (Http://stackoverflow.com/questions/8206466/how-to-set-roi-in-opencv) – karlphillip
và cũng có thể trùng lặp với luồng lưu trữ http: // stackoverflow .com/question/6566295/opencv-c-get-region-of-interest-roi-using-cvmat – karlphillip