Tôi đang làm việc với QT và OpenCV, tôi có hình vuông này mà tôi cần trích xuất nhưng tôi cần sử dụng chuyển đổi từ RGB sang một kênh (RED cơ bản). Bất kỳ lời khuyên nào sẽ được chào đón nhiều hơn, xin vui lòng tư vấn có chức năng sử dụng. Cảm ơn trước.trích xuất một hình ảnh kênh từ hình ảnh RGB với opencV
Trả lời
http://kemppro.blogspot.com/2014/05/splitting-image-in-to-three-channels.html Bạn có thể nhận được trả lời từ đó
Cố gắng tránh có câu trả lời chỉ dành cho liên kết. Xem bạn có thể diễn giải thông tin có liên quan nhất từ liên kết hay không – StephenTG
Theo như tôi biết một cuộc gọi đến,
cvtColor(src, bwsrc, CV_RGB2GRAY);
có thể làm điều đó, nơi src là hình ảnh nguồn đa kênh và tham số thứ ba đại diện cho số kênh trong đích. Vì vậy, bạn có thể làm điều đó trong OpenCV và hiển thị hình ảnh trên giao diện Qt của bạn.
Mặt khác, bạn có thể chia các kênh thành các mảng kênh đơn riêng biệt bằng phương thức split() thích hợp.
http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html#split
Tôi nghĩ cvSplit
là những gì bạn đang tìm kiếm (docs). Ví dụ: bạn có thể sử dụng nó để chia RGB thành R, G và B:
/* assuming src is your source image */
CvSize s = cvSize(src->width, src->height);
int d = src->depth;
IplImage* R = cvCreateImage(s, d, 1);
IplImage* G = cvCreateImage(s, d, 1);
IplImage* B = cvCreateImage(s, d, 1);
cvSplit(src, R, G, B, null);
Lưu ý bạn sẽ cần phải cẩn thận về thứ tự; hãy chắc chắn rằng hình ảnh gốc thực sự được đặt hàng là R, G, B (có cơ hội tốt là B, G, R).
đây có thể là điều mà người hỏi đã tìm kiếm. – kiltek
Vì thẻ này được gắn thẻ qt
Tôi sẽ trả lời C++.
// Create Windows
namedWindow("Red",1);
namedWindow("Green",1);
namedWindow("Blue",1);
// Create Matrices (make sure there is an image in input!)
Mat input;
Mat channel[3];
// The actual splitting.
split(input, channel);
// Display
imshow("Blue", channel[0]);
imshow("Green", channel[1]);
imshow("Red", channel[2]);
Thử nghiệm trên OpenCV 2.4.5
- 1. OpenCV: Cách tải hình ảnh png với 4 kênh?
- 2. OpenCV cách ghi đè hình ảnh RGB
- 3. OpenCV hình ảnh chuyển đổi từ RGB để HSV
- 4. Tạo một hình ảnh RGB OpenCV mới bằng Python?
- 5. OpenCV tiểu hình ảnh từ một hình ảnh Mat
- 6. Chuyển hình ảnh từ Matlab để một OpenCV IplImage
- 7. Trích xuất hình ảnh phụ từ một hình ảnh bằng cách sử dụng C#
- 8. Trích xuất xương tay từ hình ảnh X quang
- 9. Tạo hình ảnh từ dữ liệu RGB?
- 10. Trích xuất hình chữ nhật từ đường viền OpenCV
- 11. Trích xuất hình ảnh bằng iTextSharp
- 12. Trích xuất kích thước hình ảnh từ chuỗi Base64
- 13. ipad - trích xuất hình ảnh từ ứng dụng?
- 14. Làm cách nào để trích xuất hình ảnh từ video?
- 15. Xuất hình ảnh thô từ hình ảnh Imagick trong PHP
- 16. Xuất tệp hình ảnh từ một servlet
- 17. Nhận CGPath cho một hình ảnh với kênh Alpha
- 18. Biến đổi khoảng cách OpenCV xuất ra một hình ảnh trông giống hệt hình ảnh đầu vào
- 19. trừ một hình ảnh từ hình ảnh khác bằng cách sử dụng openCV
- 20. OpenCV vẽ hình ảnh lên hình ảnh khác
- 21. opencv tìm hình ảnh ở trên hình ảnh khác
- 22. Trích xuất ảnh tài nguyên cục bộ từ Winforms Biểu mẫu/Nút/Thuộc tính hình ảnh
- 23. Cố gắng trích xuất các giá trị pixel từ một hình ảnh PNG cụ thể
- 24. Hình ảnh không thay đổi kích thước trong hình thức nhập WYGWAM/Safecracker/Kênh Hình ảnh
- 25. Cắt một hình elip từ một hình ảnh
- 26. Bản đồ hình ảnh theo kênh alpha
- 27. Làm cách nào để tạo hình ảnh OpenCV từ hình ảnh PIL?
- 28. Chuyển đổi hình ảnh sang một mảng RGB trong Javascript
- 29. Trích xuất Blob trong OpenCV
- 30. sự khác biệt giữa độ sâu hình ảnh và kênh
Bạn có muốn có một cái nhìn tại cvtColor function()? http://opencv.willowgarage.com/documentation/cpp/miscellaneous_image_transformations.html#cvtColor –