Phân chia thuốc từ nền


9

Gần đây tôi mới bắt đầu với việc xử lý hình ảnh và tham gia một khóa học liên quan đến nó ở trường Tốt nghiệp. Nhưng tôi đã có một dự án để thực hiện mà không có quá nhiều thông tin về chủ đề này, tuy nhiên tôi đã có một số tiến bộ ổn định. Tôi đang cố gắng phân chia các viên thuốc từ nguồn gốc tương ứng của họ. Đối với hình ảnh có nền tương phản, tôi đã có thể phân đoạn các viên thuốc bằng phương pháp của Otsu. Liên quan đến hình ảnh có nền tương tự, phương pháp của Otsu không hoạt động tốt. Tôi đã đọc khá nhiều bài báo liên quan đến phân đoạn, nhưng hầu hết các bài báo tôi đã đọc đều sử dụng giá trị ngưỡng thủ công tùy thuộc vào loại hình ảnh. Có thể phát hiện giá trị ngưỡng chính xác và tự động ngưỡng một hình ảnh và sử dụng các kỹ thuật như trồng hạt giống hoặc phân cụm để phân đoạn hình ảnh?

Không gian màu tôi đang sử dụng là L a b *, vì vậy tôi đánh giá cao nếu bạn có thể đề xuất không gian màu phù hợp mà tôi cũng nên sử dụng.

Những hình ảnh trong câu hỏi:

bản gốc 1

nhập mô tả hình ảnh ở đây

kết quả 1

nhập mô tả hình ảnh ở đây

bản gốc 2

nhập mô tả hình ảnh ở đây

kết quả 2

nhập mô tả hình ảnh ở đây

bản gốc 3

nhập mô tả hình ảnh ở đây

kết quả 3

nhập mô tả hình ảnh ở đây


7
Bạn có thể tải lên một hình ảnh xin vui lòng? Điều gì về ngưỡng thích ứng?
Quentin Geissmann

3
Điều gì về cấp độ ethods và đường viền hoạt động? Bạn có thể phân đoạn các viên thuốc từ nền không chỉ theo giá trị cường độ (ngưỡng), mà dựa trên kết cấu đối tượng. Không gian màu được sử dụng chỉ là một hệ tọa độ cho các màu - sử dụng một màu để phân biệt tốt nhất các màu trong hình ảnh của bạn để phân chia. Ví dụ: nếu hình ảnh có tông màu tím, bạn có thể sử dụng chuyển đổi thang độ xám với trọng lượng lớn hơn đặt vào thành phần màu đỏ và màu xanh.
Libor


Quentin: Tôi không có đủ danh tiếng để tải ảnh lên.
GamingX

@Syed Tải chúng lên một nơi nào đó công khai và thêm các liên kết vào câu hỏi nếu bạn muốn.
Maurits

Câu trả lời:


2

Nếu bạn muốn sử dụng phương pháp ngưỡng, bạn nên sử dụng phương pháp ngưỡng thích ứng nếu có các biến thể ánh sáng lớn như trong hình ảnh ví dụ thứ 3 ( câu hỏi dsp ở đây ).

Ngoài ra, bạn nên thử nghiệm với các không gian màu, thật dễ dàng: tập lệnh để phân tách hình ảnh thành các không gian màu khác nhau nên dài không quá vài dòng và rất nhiều người xem hình ảnh có sẵn tùy chọn đó. Tốt nhất nên dễ dàng xác định chỉ bằng trực quan. Nếu bạn muốn đọc lên các không gian màu, có một câu hỏi dsp tốt ở đây .

Cuối cùng, bạn có thể muốn thử một cách tiếp cận khác nhau. Một ý tưởng sẽ là thực hiện một phân đoạn không hoàn hảo, sau đó là phát hiện cạnh và cuối cùng sử dụng một cái gì đó như biến đổi Hough cho các vòng tròn cũng hoạt động tốt trên các vòm vòng tròn (không hoàn chỉnh). (ý tưởng này chỉ áp dụng cho thuốc tròn)


Điều gì sẽ là một ý tưởng tốt cho một phân khúc không hoàn hảo?
GamingX

@Syed Trông giống như OpenCV Canny (phát hiện cạnh) và thậm chí Hough hoạt động trên các hình ảnh màu xám (không cần ngưỡng), vì vậy bạn có thể bỏ qua bước ngưỡng cùng nhau. Ngưỡng - phân đoạn phụ thuộc rất lớn vào hình ảnh. Nhưng, một câu trả lời thẳng sẽ là: xin lỗi, không biết. Tôi nghĩ rằng một phương pháp không thích ứng là đủ, nhưng tôi không thể đề xuất một phương pháp cụ thể vì tôi đã không làm điều này trong một thời gian. Chỉ cần thực hiện một nghiên cứu nhỏ về các phương pháp phân đoạn đơn giản ;)
Penelope

2

Các biến đổi hough Circle từ thư viện OpenCV rất phù hợp cho ứng dụng này. Bạn sẽ phải chạy một số bán kính nhưng phản ứng tốt nhất sẽ cung cấp cho bạn ranh giới và trung tâm của thuốc. Lưu ý rằng bạn sẽ phải sử dụng các biến đổi hough tổng quát để tìm thuốc không tròn. Nó sẽ hoạt động ngay cả khi các viên thuốc bị tắc hoặc thiếu các điểm cạnh.

Ngưỡng có thể là một giải pháp tồi cho vấn đề này bởi vì trong trường bạn có thể rơi vào tình huống không có ngưỡng sẽ tách viên thuốc ra khỏi nền, đó là lý do tại sao thuật toán phụ thuộc vào vị trí tương đối của các nhóm cạnh là vượt trội.


1

Để giải quyết vấn đề này, bạn cần tách nền và tiền cảnh. Đây là giải pháp, tôi đề nghị bạn:

1) chuyển đổi hình ảnh từ Rgb sang thang độ xám; Bạn sẽ có được một hình ảnh mà chúng tôi gọi I1;

2) áp dụng bộ lọc hình thái, xói mòn bằng bán kính lớn, cuối cùng vài lần ==> bạn nên xóa viên thuốc bằng cách xói mòn và chỉ lấy nền; Bạn sẽ có được một hình ảnh mới I2;

3) trừ đi I2tới I1, bạn sẽ nhận được foreground tức là thuốc;

4) áp dụng một bộ lọc hình thái khác để lấp đầy bất kỳ lỗ nào trong viên thuốc mà bạn thu được;

5) áp dụng bộ lọc hình thái, xói mòn, bán kính nhỏ để loại bỏ bất kỳ pixel bị cô lập.

Phương pháp này không yêu cầu bất kỳ ngưỡng, phát hiện hình dạng, phân đoạn màu hoặc bất cứ điều gì khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.