Phát hiện số lượng sợi trong hình ảnh vải


12

Tôi là một người dùng mới trong việc xử lý hình ảnh và làm việc trong một dự án để xác định số lượng sợi trong một hình ảnh vải, ví dụ như sợi dọc và sợi wefts (Sợi vuông góc và song song với trục x).

hình ảnh mẫu

Tôi đang cố gắng phát hiện các sợi bằng cách lấy tổng số cột và hàng tương ứng cho sợi dọc và sợi ngang nhưng nó dường như không hoạt động vì hình ảnh không được tập trung và sắc nét lắm. Ngoài ra phương pháp này rất nhạy cảm với sự liên kết của các sợi trong vải.

Vui lòng đề xuất một thuật toán tốt hơn nếu có thể để phát hiện sợi. Ngoài ra nếu có bất kỳ khả năng nào để tạo ra các sợi thẳng cho mọi hình ảnh được chụp. Tôi đã thử IMROTATE nhưng nó tạo ra các vùng màu đen trong hình ảnh làm xáo trộn tổng số hàng và thuật toán bị lỗi.

Bất kỳ trợ giúp về vấn đề này sẽ có nhiều giá trị với tôi. Cảm ơn.


Sử dụng một FFT. Đây có phải là bài tập về nhà không?
endolith

Vâng, một biến đổi Fourier có lẽ là điểm khởi đầu chính xác. Nó sẽ "kéo" sự đều đặn của hình ảnh ra khỏi độ mờ. Không chắc chắn làm thế nào để xử lý xoay một phần, mặc dù. Có lẽ bạn có thể biến đổi các sọc và lưu ý pha của chúng, sau đó xác định xem các sọc liền kề là lệch sang trái hay phải.
Daniel R Hicks

Câu trả lời:


9

Biến đổi fourier sẽ cung cấp cho bạn khoảng thời gian của bất kỳ tính năng định kỳ nào trong hình ảnh - ví dụ: nó sẽ cho bạn biết có sự kiện cấu trúc 3 pixel theo chiều ngang và 5 pixel theo chiều dọc, từ tỷ lệ này và tỷ lệ pixel bạn có thể tính toán số lượng sợi


3

Một số mã trong Mathicala:

i = ColorNegate@Import@"http://i.stack.imgur.com/Jlhgw.jpg";
i3 = DeleteSmallComponents[Binarize[i, .4], 10];
lines = ImageLines[i3, .6];
Show[i, Graphics[{Thick, Orange, Line /@ lines}]]
(*y coord mean increments at x=0 *)
b = Mean@Differences@ Sort[(#[[2, 1]] #[[1, 2]] - #[[1, 1]] #[[2, 2]])/(#[[1,1]] - #[[2, 1]]) & /@ lines];
(*mean slope*)
a = Mean[-(-#[[1, 2]] + #[[2, 2]])/(#[[1, 1]] - #[[2, 1]]) & /@ lines];
(*Threads*)
- a ImageDimensions[i3][[1]]/b 
(*yarns*)
2 ImageDimensions[i3][[2]]/b

Kết quả>

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

34.5541
27.2259


1
Sẽ thật tốt nếu bạn giải thích những gì bạn đang làm trong mã này.
Abid Rahman K
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.