Có một công cụ để phát hiện cạnh bằng văn bản cho hình ảnh J có thể giúp đầu tiên bạn tìm thấy những lỗ hổng và các đường, và làm rõ chúng. Bạn tìm thấy nó ở
http://imagejdocu.tudor.lu/doku.php?id=plugin:filter:edge_detection:start
Chơi xung quanh với các cài đặt cho các tresholding và trễ có thể giúp để có được những dòng và lỗ được tìm thấy. Thật khó để nói liệu điều này có nhiều cơ hội làm việc mà không nhìn thấy các bức ảnh thực tế của bạn, nhưng một đồng nghiệp của tôi có kết quả tốt bằng cách sử dụng công cụ này trên hình ảnh FRAP. Tôi đã lập trình một công cụ ImageJ có thể tính toán các hồi phục trong phân tích FRAP dựa trên những hình ảnh đó. Bạn có thể nhận được một số ý tưởng cho chính mình khi xem mã (xem: http://imagejdocu.tudor.lu/doku.php?id=plugin:analysis:frap_normalization:start)
Cách duy nhất tôi biết bạn có thể làm việc với hình ảnh là sử dụng EBImage
trong hệ thống bioconductor. Gói Rimage
là mồ côi, vì vậy không còn được duy trì.
Để tìm khoảng cách ngắn nhất: một khi bạn có tọa độ của các đường và lỗ, bạn có thể đi theo phương pháp shotgun: tính khoảng cách giữa tất cả các điểm và đường kẻ, và sau đó lấy mức tối thiểu. Một minh họa về điều đó trong R:
x <- -100:100
x2 <- seq(-70,-50,length.out=length(x)/4)
a.line <- list(x = x,
y = 4*x + 5)
a.hole <- list(
x = c(x2,rev(x2)),
y = c(200 + sqrt(100-(x2+60)^2),
rev(200 - sqrt(100-(x2+60)^2)))
)
plot(a.line,type='l')
lines(a.hole,col='red')
calc.distance <- function(line,hole){
mline <- matrix(unlist(line),ncol=2)
mhole <- matrix(unlist(hole),ncol=2)
id1 <- rep(1:nrow(mline),nrow(mhole))
id2 <- rep(1:nrow(mhole), each=nrow(mline))
min(
sqrt(
(mline[id1,1]-mhole[id2,1])^2 +
(mline[id1,2]-mhole[id2,2])^2
)
)
}
Sau đó:
> calc.distance(a.line,a.hole)
[1] 95.51649
Mà bạn có thể kiểm tra toán học bằng cách bắt nguồn từ các phương trình đường tròn và đường kẻ. Điều này đủ nhanh nếu bạn không có hàng triệu điểm mô tả hàng ngàn đường và lỗ.
Tắt đầu của tôi, tôi sẽ đi với ImageJ trước. Tôi không phải là một chuyên gia với công cụ đó, nhưng nó có vẻ là tốt trong việc tìm kiếm các điểm và làm việc với họ. –
Có thể Bio7 có thể tốt cho nhiệm vụ này. Có bất kỳ người dùng Bio7 nào không? Chương trình thực hiện rất nhiều, thật khó để tìm ra nó thực sự làm gì =) – Mikko