Bây giờ tôi đang xử lý một số xử lý hình ảnh trong Python thông qua PIL (Thư viện hình ảnh Python). Mục đích chính của tôi là đếm số lượng tế bào màu trong hình ảnh hóa mô miễn dịch. Tôi biết rằng có các chương trình, thư viện, chức năng và hướng dẫn liên quan về nó và tôi đã kiểm tra hầu hết tất cả chúng. Mục đích chính của tôi là viết mã thủ công từ đầu, càng nhiều càng tốt. Do đó tôi đang cố gắng tránh sử dụng nhiều thư viện và chức năng bên ngoài. Tôi đã viết hầu hết các chương trình. Vì vậy, đây là những gì đang diễn ra từng bước:
Chương trình có trong tập tin hình ảnh:
Và xử lý nó cho các ô màu đỏ (về cơ bản, nó sẽ tắt các giá trị RGB dưới một ngưỡng nhất định cho màu đỏ):
Và tạo bản đồ boolean của nó, (sẽ dán một phần của nó vì nó lớn) mà về cơ bản chỉ cần đặt 1 bất cứ nơi nào nó gặp một pixel màu đỏ trong hình ảnh thứ hai được xử lý ở trên.
22222222222222222222222222222222222222222
20000000111111110000000000000000000000002
20000000111111110000000000000000000000002
20000000111111110000000000000000000000002
20000000011111100000000000000000001100002
20000000001111100000000000000000011111002
20000000000110000000000000000000011111002
20000000000000000000000000000000111111002
20000000000000000000000000000000111111102
20000000000000000000000000000001111111102
20000000000000000000000000000001111111102
20000000000000000000000000000000111111002
20000000000000000000000000000000010000002
20000000000000000000000000000000000000002
22222222222222222222222222222222222222222
Tôi cố tình tạo khung hình giống như vật ở biên giới với 2 giây để giúp tôi đếm số nhóm 1 trong bản đồ boolean đó.
Câu hỏi của tôi cho các bạn là, tại sao tôi có thể đếm số lượng tế bào (nhóm 1) một cách hiệu quả trong loại bản đồ boolean đó? Tôi đã tìm thấy http://en.wikipedia.org/wiki/Connected-component_labeling trông cực kỳ liên quan và tương tự nhau, nhưng theo như tôi thấy, nó ở cấp độ pixel. Của tôi là ở cấp độ boolean. Chỉ cần 1 giây và 0 giây.
Cảm ơn rất nhiều.