Tôi muốn triển khai một số thuật toán xử lý hình ảnh được thiết kế để chạy trên beagleboard. Các thuật toán này sử dụng các convolutions rộng rãi. Tôi đang cố gắng để tìm một thực hiện tốt C cho 2D convolution (có thể sử dụng Fast Fourier Transform). Tôi cũng muốn các thuật toán để có thể chạy trên DSP của beagleboard, bởi vì tôi đã nghe nói rằng DSP được tối ưu hóa cho các loại hoạt động (với hướng dẫn nhân tích lũy của nó).Chuyển đổi 2D nhanh cho DSP
Tôi không có nền tảng trong lĩnh vực này vì vậy tôi nghĩ sẽ không tốt nếu thực hiện bản thân chập chững (tôi có lẽ sẽ không làm tốt như người hiểu tất cả toán học đằng sau nó). Tôi tin rằng một thực hiện tốt C convolution cho DSP tồn tại một nơi nào đó nhưng tôi đã không thể tìm thấy nó?
Ai đó có thể trợ giúp?
EDIT: Tắt hạt nhân là khá nhỏ. Kích thước của nó là 2X2 hoặc 3X3. Vì vậy, tôi đoán tôi không tìm kiếm một triển khai dựa trên FFT. Tôi đã tìm kiếm convolution trên web để xem định nghĩa của nó vì vậy tôi có thể thực hiện nó một cách thẳng về phía trước (tôi không thực sự biết những gì convolution là). Tất cả tôi đã tìm thấy là một cái gì đó với tích phân nhân và tôi không có ý tưởng làm thế nào để làm điều đó với ma trận. Ai đó có thể cho tôi một đoạn mã (hoặc mã giả) cho vỏ hạt nhân 2X2 không?
http://en.wikipedia.org/wiki/Convolution#Discrete_convolution –
@ Peter : Cảm ơn, nhưng họ đang nói về trường hợp 1D ở đó, không có gì về sự liên kết 2D – snakile
các biến dạng 2d (trong xử lý hình ảnh) thường có thể phân tách được, do đó có thể chạy theo 2 chuỗi liên tiếp 1 d. Điều này làm cho yêu cầu xử lý nhỏ hơn nhiều. Bạn có thể đưa ra ví dụ về các loại hạt nhân bạn muốn sử dụng không? –