2012-04-20 40 views
7

Tôi thường quét tài liệu viết tay để gửi cho đồng nghiệp và cần chỉnh sửa tệp kỹ thuật số sau khi được quét. (Ví dụ, tôi thay đổi những sai lầm tôi thực hiện trên tài liệu gốc sang màu trắng.)Có cách nào để tạo tập lệnh tự động sửa các tài liệu được quét không?

Tôi đang nghĩ đến việc một số kịch bản mà có thể làm như sau:

Hãy màu sắc hình ảnh quét (nói một tiff) là đầu vào, và thực hiện các chỉnh sửa đơn giản tự động dựa trên các hiệu chỉnh màu trong hình ảnh.

Ví dụ lấy trường hợp đơn giản nhất: Tôi chỉ viết đen trắng. Có một khu vực mà tôi đã phạm sai lầm vì vậy tôi vẽ một vòng tròn màu đỏ khép kín (với một cây bút trên tờ giấy thực tế) xung quanh khu vực đó. Sau đó, tôi quét hình ảnh (hoặc thường là nhiều ảnh). Bây giờ tôi muốn kịch bản để xóa từng khu vực trong tất cả các hình ảnh để những sai lầm của tôi biến mất trong hình ảnh kết quả.

Bất kỳ ý tưởng nào để nhận ra điều này trong môi trường Linux, ví dụ: với Image Magick?


Dường như GIMP với kịch bản-fu có thể là cách để đi nó phải đủ mạnh. Ai đó có thể cho tôi một gợi ý bằng cách chỉ ra ví dụ trên sẽ trông giống như trong kịch bản-fu?

+0

Cũng hữu ích cho tôi: phần mềm hình ảnh pixel pixel rất dễ đọc và hỗ trợ kiểu chữ phức tạp như mặt nạ từ lựa chọn màu sắc, v.v. – highsciguy

+1

Vì bạn đã đánh dấu thủ công những gì bạn muốn thay đổi, bạn có nghĩ về những thứ phi kỹ thuật như băng trắng không (http://www.amazon.com/Wite-Out-Correction-1-Line-Dispenser-BICWOTAPP11/dp/B003V8Q7HS) hoặc sử dụng nhãn hoặc nhãn dán trống không phản chiếu để che đậy những sai lầm? –

+0

Tôi là một người phức tạp và giải pháp này quá đơn giản đối với tôi;) Không, nghiêm túc: Tôi biết về giải pháp này nhưng tôi có một số ý tưởng khác trong đầu mình không thể nhận ra theo cách này nếu tôi muốn tạo ra văn bản viết tay đẹp. Ví dụ. Tôi muốn có thể đánh dấu văn bản theo cách tương tự bằng cách thay đổi màu của văn bản. Hoặc để vẽ một hộp hình chữ nhật xung quanh văn bản. Những điều này mất rất nhiều thời gian nếu tôi muốn làm điều đó bằng tay. – highsciguy

Trả lời

0

Tôi khuyên bạn nên xem xét một máy quét scansnap (có lẽ là bản quét 3100). Có một vài điều mà phần mềm kèm theo có thể làm điều đó có thể hữu ích.

Bạn có thể thấy rằng bất kỳ phần mềm/tập lệnh nào bạn tìm thấy sẽ không hoạt động theo cách bạn muốn. Có vẻ như nhiều chỉnh sửa này là những thứ cần được nhìn thấy bằng mắt người. Có lẽ bạn có thể thuê một trợ lý cá nhân để thực hiện các chỉnh sửa này cho bạn. :)

2

Tôi đang nghĩ đến giải pháp dựa trên ImageMagick. Chúng tôi sẽ cần các bước sau:

  1. Tìm màu dùng để vẽ trong tài liệu quét (cho bây giờ, gọi là mục tiêu màu);
  2. Tìm các tọa độ xy trong hình ảnh;
  3. Chuyển vị trí này làm hạt giống cho thuật toán Flood Fill.

Chúng ta có thể sử dụng kịch bản sau đây dựa trên chức năng của ImageMagick:

  1. Output tất cả các màu sắc độc đáo trong hình. Điều này sẽ được sử dụng để tìm ra các thành phần RGB của màu mục tiêu (command source).

    convert <image> -unique-colors -depth 8 txt:- > output.txt 
    
  2. Output tọa độ của từng màu sắc trong một file văn bản:

    convert <image> txt:- > coord.txt 
    
  3. Tìm xy tọa độ của màu sắc mục tiêu (command source).Giả sử màu sắc mục tiêu thu được bằng cách bước 1 là màu đỏ:

    grep red coord.txt 
    
  4. Cuối cùng, sử dụng xy như một hạt giống để floodfill để thay thế cho khu vực vòng tròn bằng màu sắc mong muốn của bạn (command source). Trong trường hợp này, tôi đã sử dụng white để xóa khu vực:

    convert <image> -fill white -fuzz 13% \ 
         -draw 'color <x>,<y> floodfill' <image_floodfill_output> 
    

Tham số -fuzz sẽ tránh điều đó màu sắc mà ban đầu red và trở thành hỏng do tiếng ồn cũng được thay thế.

tutorial cung cấp thêm thông tin về chức năng floodfill, chẳng hạn như cách thay thế màu cạnh.

+0

+1 cho đề xuất này. Sẽ tốt hơn nếu bạn xây dựng thêm một chút nữa ... :-) –

+0

@KurtPfeifle cảm ơn bạn! :-) Điểm nào cần cải thiện? Có lẽ một ví dụ về cách sử dụng và giải thích thêm về các lệnh được sử dụng? – Yamaneko

+0

Chính xác :-) Và thậm chí có thể một số hình ảnh và tệp văn bản (trích xuất) s thể hiện tác dụng của các lệnh bạn đang sử dụng ... –

Các vấn đề liên quan