Tôi nghĩ rằng nếu mục tiêu là phát hiện của trục duy nhất, một cách tiếp cận dễ dàng hơn sẽ sử dụng các hoạt động hình thái (sử dụng hough chuyển đổi có thể được thực sự tính toán đòi hỏi, và có thể wouldn 't làm việc với rất nhiều "tiếng ồn"). Tôi thích sử dụng GNU octave để thực hiện các thao tác xử lý hình ảnh hơn là phân phối kết quả thông qua giao diện người dùng php.
đang có thể cho khởi đầu có thể được (ví dụ như để phát hiện nguồn gốc và giá trị tối đa - bộ lọc cho x tối thiểu, tối đa x, tối thiểu y, y tối đa để có được những góc):
I = rgb2gray(imread('iEth9.jpg'));
I = I < 11;
A = imopen(I, ones(1,100)');
B = imopen(I, ones(1,100));
imagesc(I);hold on;
[y,x] = find(A&B);
plot(x,y,'ro');
Tôi nghĩ có lẽ bạn đang sẽ thấy khó thực hiện điều đó bằng cách sử dụng PHP nguyên bản. Tôi khuyên bạn nên xem xét sử dụng OpenCV nếu có thể: http://opencv.willowgarage.com/wiki/ Tôi muốn được quan tâm đến đây nếu có một cách tốt hơn mặc dù. –
Nếu các trục luôn tạo thành một góc vuông và thực hiện theo hướng x và y của một hình ảnh, nó có thể không hề khó thực hiện. Ngay cả một quá trình đơn giản như đếm các điểm ảnh dọc và ngang có thể đủ để tìm những trục này. Ngoài ra nếu đây không phải là trường hợp, một biến đổi hough thậm chí có thể được khá nhanh, nếu bạn biết rằng hình ảnh sẽ không bao giờ được quay xung quanh hơn +/- 10 °, bởi vì bạn có thể làm giảm vòng lặp của góc. – JohannesB