2012-06-26 24 views
5

Tôi muốn tự động chọn khu vực của trang cần cắt sau. Tôi cho rằng phát hiện cạnh có thể hữu ích và được sử dụng để phát hiện các cạnh của hình ảnh. Bây giờ tôi có hình ảnh này! nhưng tôi không có ý tưởng rõ ràng để chọn khu vực của trang dưới dạng hình chữ nhật. Bất cứ ai có thể đề xuất một phương pháp hoặc thực hiện cho vấn đề này? Điều tôi thực sự muốn làm là chọn vùng của trang như sau. Có phương pháp nào khác để thực hiện việc này không? Tôi cũng đã thấy phát hiện ranh giới trong cuốn sách giới thiệu về xử lý hình ảnh kỹ thuật số bằng cách sử dụng MATLAB. Nhưng tôi không quen với điều đó. Tôi có thể sử dụng nó cho mục đích này không?Cắt hình ảnh sau khi chọn vùng bằng cách sử dụng tính năng dò tìm cạnh trong android

+1

trùng lặp: http://stackoverflow.com/questions/8667818/opencv-c-obj-c-detecting-a-sheet-of-paper-square-detection/ – ArtemStorozhuk

+0

Cảm ơn. Tôi sẽ kiểm tra nó. Bạn có biết về việc triển khai java cho những kỹ thuật đó không? Tôi thích nếu tôi có thể tránh opencv hoặc c + + cho việc này. – chAmi

+0

Có, xem [hướng dẫn này] (http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/android_binary_package.html#android-binary-package). Nhưng C++ sẽ nhanh hơn nhiều. – ArtemStorozhuk

Trả lời

0

Tôi cho rằng bạn có hình ảnh "Canny-ed". Bây giờ bạn có thể sử dụng Imgproc.findCountours, để tìm và lưu trữ các cạnh (bạn cần List<MatOfPoint> cho điều đó). Trước khi sử dụng findContours tôi sẽ chơi với Imgproc.dilate, có thể giúp tìm đường nét (đường "vỗ" để chúng tôi chắc chắn rằng findContours sẽ không bỏ lỡ mục tiêu của bạn). Sau đó, bạn chỉ cần sử dụng Imgproc.boudningRect để nhận được ROI của mình. Sau đó, chỉ cần cắt hình ảnh bằng cách sử dụng ROI này.