OCR, hoặc Optical Character Recognition, là công nghệ được sử dụng để chuyển đổi các loại tài liệu khác nhau, chẳng hạn như tài liệu giấy đã quét, tệp PDF hoặc hình ảnh chụp bằng máy ảnh kỹ thuật số, thành dữ liệu có thể chỉnh sửa và tìm kiếm.
Trong giai đoạn đầu của OCR, một hình ảnh của văn bản tài liệu được quét. Điều này có thể là một bức ảnh hoặc một tài liệu đã quét. Mục đích của giai đoạn này là để sao chép số liệu của tài liệu, thay vì yêu cầu chuyển dịch thủ công. Ngoài ra, quá trình số hóa này cũng có thể giúp tăng tuổi thọ của các vật liệu bởi vì nó có thể giảm thiểu việc xử lý nguồn lực dễ vỡ.
Một khi tài liệu được số hóa, phần mềm OCR phân tách hình ảnh thành các ký tự cá nhân để nhận dạng. Đây được gọi là quá trình phân đoạn. Phân đoạn phá tài liệu thành dòng, từ, và cuối cùng là ký tự cá nhân. Việc phân chia này là một quá trình phức tạp do nhiều yếu tố liên quan -- kiểu chữ khác nhau, kích thước văn bản khác nhau, và việc căn chỉnh văn bản khác nhau, chỉ để nêu một vài.
Sau khi phân đoạn, thuật toán OCR sau đó sử dụng nhận dạng mẫu để xác định mỗi ký tự cá nhân. Đối với mỗi ký tự, thuật toán sẽ so sánh nó với cơ sở dữ liệu của các hình dạng ký tự. Kết quả khớp gần nhất sau đó được chọn là danh tính của ký tự. Trong nhận dạng đặc trưng, một hình thức OCR nâng cao hơn, thuật toán không chỉ xem xét hình dạng mà còn xem xét các đường và đường cong trong một mẫu.
OCR có nhiều ứng dụng thực tế - từ việc số hóa tài liệu in, kích hoạt các dịch vụ văn bản-tiếng nói, tự động hóa các quy trình nhập dữ liệu, đến việc hỗ trợ người dùng khiếm thị tương tác tốt hơn với văn bản. Tuy nhiên, đáng chú ý là quá trình OCR không phải lúc nào cũng hoàn hảo và có thể mắc lỗi, đặc biệt khi xử lý tài liệu độ phân giải thấp, phông chữ phức tạp, hoặc văn bản in không rõ nét. Do đó, độ chính xác của hệ thống OCR có sự khác biệt rõ ràng tùy thuộc vào chất lượng của tài liệu gốc và chi tiết của phần mềm OCR được sử dụng.
OCR là công nghệ then chốt trong thực hành trích xuất và số hóa dữ liệu hiện đại. Nó tiết kiệm thời gian và nguồn lực đáng kể bằng cách giảm bớt nhu cầu nhập dữ liệu thủ công và cung cấp một cách tiếp cận đáng tin cậy, hiệu quả để chuyển đổi tài liệu vật lý thành định dạng số.
Optical Character Recognition (OCR) là một công nghệ được sử dụng để chuyển đổi các loại tài liệu khác nhau, như tài liệu giấy đã quét, tệp PDF hoặc hình ảnh được chụp bằng máy ảnh số, thành dữ liệu có thể chỉnh sửa và tìm kiếm.
OCR hoạt động bằng cách quét hình ảnh hoặc tài liệu đầu vào, phân đoạn hình ảnh thành các ký tự riêng lẻ, và so sánh từng ký tự với cơ sở dữ liệu hình dạng ký tự bằng cách sử dụng nhận dạng mô hình hoặc nhận dạng đặc trưng.
OCR được sử dụng trong nhiều lĩnh vực và ứng dụng, bao gồm số hóa tài liệu in, kích hoạt các dịch vụ văn bản thành giọng nói, tự động hóa quá trình nhập dữ liệu, và hỗ trợ người dùng khiếm thị tương tác tốt hơn với văn bản.
Mặc dù đã có những tiến bộ vượt bậc trong công nghệ OCR, nhưng nó không phải lúc nào cũng hoàn hảo. Độ chính xác có thể thay đổi tùy thuộc vào chất lượng của tài liệu gốc và chi tiết của phần mềm OCR đang được sử dụng.
Mặc dù OCR chủ yếu được thiết kế cho văn bản in, một số hệ thống OCR tiên tiến cũng có thể nhận dạng được chữ viết tay rõ ràng, nhất quán. Tuy nhiên, nhận dạng chữ viết tay thường kém chính xác hơn do sự biến đổi lớn trong các kiểu viết của mỗi người.
Có, nhiều hệ thống phần mềm OCR có thể nhận dạng được nhiều ngôn ngữ. Tuy nhiên, điều quan trọng là phải đảm bảo rằng ngôn ngữ cụ thể đó được hỗ trợ bởi phần mềm bạn đang sử dụng.
OCR là viết tắt của Optical Character Recognition và được sử dụng để nhận dạng văn bản in, trong khi ICR, hoặc Intelligent Character Recognition, tiên tiến hơn và được sử dụng để nhận dạng văn bản viết tay.
OCR hoạt động tốt nhất với các phông chữ rõ ràng, dễ đọc và kích cỡ văn bản chuẩn. Mặc dù nó có thể hoạt động với các phông chữ và kích cỡ khác nhau, độ chính xác thường giảm khi đối phó với phông chữ không thông thường hoặc kích cỡ văn bản rất nhỏ.
OCR có thể gặp khó khăn với các tài liệu độ phân giải thấp, phông chữ phức tạp, văn bản in kém, chữ viết tay, và các tài liệu có nền gây ra sự can thiệp với văn bản. Ngoài ra, mặc dù nó có thể hoạt động với nhiều ngôn ngữ, nó có thể không bao phủ hoàn hảo mọi ngôn ngữ.
Có, OCR có thể quét văn bản màu và nền màu, mặc dù nó thường hiệu quả hơn với các sự kết hợp màu đối lập cao, như văn bản đen trên nền trắng. Độ chính xác có thể giảm khi màu văn bản và màu nền không có đủ độ tương phản.
Định dạng PBM (Portable Bitmap) là một trong những định dạng tệp đồ họa đơn giản và sớm nhất được sử dụng để lưu trữ hình ảnh đơn sắc. Nó là một phần của bộ Netpbm, cũng bao gồm PGM (Portable GrayMap) cho hình ảnh thang độ xám và PPM (Portable PixMap) cho hình ảnh màu. Định dạng PBM được thiết kế để cực kỳ dễ đọc và ghi trong chương trình, đồng thời rõ ràng và không gây hiểu lầm. Nó không được thiết kế để trở thành một định dạng độc lập, mà là một mẫu số chung thấp nhất để chuyển đổi giữa các định dạng hình ảnh khác nhau.
Định dạng PBM chỉ hỗ trợ hình ảnh đen trắng (1 bit). Mỗi pixel trong hình ảnh được biểu diễn bằng một bit duy nhất - 0 cho màu trắng và 1 cho màu đen. Tính đơn giản của định dạng giúp dễ dàng thao tác bằng các công cụ chỉnh sửa văn bản cơ bản hoặc ngôn ngữ lập trình mà không cần đến các thư viện xử lý hình ảnh chuyên dụng. Tuy nhiên, tính đơn giản này cũng có nghĩa là các tệp PBM có thể lớn hơn các định dạng tinh vi hơn như JPEG hoặc PNG, sử dụng các thuật toán nén để giảm kích thước tệp.
Có hai biến thể của định dạng PBM: định dạng ASCII (thuần túy), được gọi là P1 và định dạng nhị phân (thô), được gọi là P4. Định dạng ASCII có thể đọc được bằng con người và có thể được tạo hoặc chỉnh sửa bằng trình soạn thảo văn bản đơn giản. Định dạng nhị phân không thể đọc được bằng con người nhưng tiết kiệm không gian hơn và nhanh hơn để các chương trình đọc và ghi. Mặc dù có sự khác biệt về lưu trữ, cả hai định dạng đều biểu diễn cùng một loại dữ liệu hình ảnh và có thể chuyển đổi giữa nhau mà không mất thông tin.
Cấu trúc của tệp PBM ở định dạng ASCII bắt đầu bằng số ma thuật hai byte xác định loại tệp. Đối với định dạng PBM ASCII, đây là 'P1'. Tiếp theo số ma thuật là khoảng trắng (khoảng trắng, TAB, CR, LF), sau đó là thông số kỹ thuật về chiều rộng, là số cột trong hình ảnh, theo sau là khoảng trắng, sau đó là thông số kỹ thuật về chiều cao, là số hàng trong hình ảnh. Sau thông số kỹ thuật về chiều cao, có thêm khoảng trắng, sau đó là dữ liệu pixel bắt đầu.
Dữ liệu pixel trong tệp PBM ASCII bao gồm một loạt các '0' và '1', trong đó mỗi '0' biểu diễn một pixel màu trắng và mỗi '1' biểu diễn một pixel màu đen. Các pixel được sắp xếp thành các hàng, với mỗi hàng pixel trên một dòng mới. Khoảng trắng được phép ở bất kỳ đâu trong dữ liệu pixel ngoại trừ trong chuỗi hai ký tự (không được phép giữa hai ký tự của chuỗi). Kết thúc tệp đạt được sau khi đọc width*height bit.
Ngược lại, định dạng PBM nhị phân bắt đầu bằng số ma thuật 'P4' thay vì 'P1'. Sau số ma thuật, định dạng của tệp giống như phiên bản ASCII cho đến khi dữ liệu pixel bắt đầu. Dữ liệu pixel nhị phân được đóng gói thành các byte, với bit có giá trị cao nhất (MSB) của mỗi byte biểu diễn pixel ngoài cùng bên trái và mỗi hàng pixel được đệm khi cần thiết để điền vào byte cuối cùng. Các bit đệm không có ý nghĩa và các giá trị của chúng bị bỏ qua.
Định dạng nhị phân tiết kiệm không gian hơn vì nó sử dụng một byte đầy đủ để biểu diễn tám pixel, trái ngược với định dạng ASCII sử dụng ít nhất tám byte (một ký tự cho mỗi pixel cộng với khoảng trắng). Tuy nhiên, định dạng nhị phân không thể đọc được bằng con người và yêu cầu một chương trình hiểu định dạng PBM để hiển thị hoặc chỉnh sửa hình ảnh.
Việc tạo tệp PBM theo chương trình tương đối đơn giản. Trong một ngôn ngữ lập trình như C, người ta sẽ mở một tệp ở chế độ ghi, xuất số ma thuật thích hợp, ghi chiều rộng và chiều cao dưới dạng số ASCII được phân tách bằng khoảng trắng, sau đó xuất dữ liệu pixel. Đối với PBM ASCII, dữ liệu pixel có thể được ghi dưới dạng một loạt các '0' và '1' với các ngắt dòng thích hợp. Đối với PBM nhị phân, dữ liệu pixel phải được đóng gói thành các byte và được ghi vào tệp ở chế độ nhị phân.
Đọc tệp PBM cũng rất đơn giản. Một chương trình sẽ đọc số ma thuật để xác định định dạng, bỏ qua khoảng trắng, đọc chiều rộng và chiều cao, bỏ qua thêm khoảng trắng, sau đó đọc dữ liệu pixel. Đối với PBM ASCII, chương trình có thể đọc các ký tự từng ký tự một và diễn giải chúng thành các giá trị pixel. Đối với PBM nhị phân, chương trình phải đọc các byte và giải nén chúng thành các bit riêng lẻ để lấy các giá trị pixel.
Định dạng PBM không hỗ trợ bất kỳ hình thức nén hoặc mã hóa nào, điều này có nghĩa là kích thước tệp tỷ lệ thuận với số pixel trong hình ảnh. Điều này có thể dẫn đến các tệp rất lớn đối với hình ảnh có độ phân giải cao. Tuy nhiên, tính đơn giản của định dạng khiến nó trở nên lý tưởng để tìm hiểu về xử lý hình ảnh, để sử dụng trong các tình huống mà độ trung thực của hình ảnh quan trọng hơn kích thước tệp hoặc để sử dụng làm định dạng trung gian trong các quy trình chuyển đổi hình ảnh.
Một trong những ưu điểm của định dạng PBM là tính đơn giản và dễ dàng thao tác. Ví dụ: để đảo ngược hình ảnh PBM (biến tất cả các pixel màu đen thành màu trắng và ngược lại), người ta chỉ cần thay thế tất cả các '0' bằng '1' và tất cả các '1' bằng '0' trong dữ liệu pixel. Điều này có thể được thực hiện bằng một tập lệnh hoặc chương trình xử lý văn bản đơn giản. Tương tự, các thao tác hình ảnh cơ bản khác như xoay hoặc phản chiếu có thể được thực hiện bằng các thuật toán đơn giản.
Mặc dù đơn giản, định dạng PBM không được sử dụng rộng rãi để lưu trữ hoặc trao đổi hình ảnh chung. Điều này chủ yếu là do nó không có khả năng nén, khiến nó không hiệu quả để lưu trữ hình ảnh lớn hoặc để sử dụng trên internet, nơi băng thông có thể là một mối quan tâm. Các định dạng hiện đại hơn như JPEG, PNG và GIF cung cấp nhiều hình thức nén khác nhau và phù hợp hơn cho các mục đích này. Tuy nhiên, định dạng PBM vẫn được sử dụng trong một số bối cảnh, đặc biệt là đối với đồ họa đơn giản trong phát triển phần mềm và như một công cụ giảng dạy cho các khái niệm xử lý hình ảnh.
Bộ Netpbm, bao gồm định dạng PBM, cung cấp một bộ sưu tập các công cụ để thao tác các tệp PBM, PGM và PPM. Các công cụ này cho phép chuyển đổi giữa các định dạng Netpbm và các định dạng hình ảnh phổ biến khác, cũng như các thao tác xử lý hình ảnh cơ bản như thay đổi kích thước, cắt và thao tác màu. Bộ công cụ được thiết kế để dễ dàng mở rộng, với giao diện đơn giản để thêm chức năng mới.
Tóm lại, định dạng hình ảnh PBM là một định dạng tệp đơn giản, không rườm rà để lưu trữ hình ảnh bitmap đơn sắc. Tính đơn giản của nó giúp dễ hiểu và thao tác, có thể có lợi cho mục đích giáo dục hoặc cho các tác vụ xử lý hình ảnh đơn giản. Mặc dù không phù hợp với tất cả các ứng dụng do thiếu khả năng nén và dẫn đến kích thước tệp lớn, nhưng nó vẫn là một định dạng hữu ích trong các bối cảnh cụ thể mà các điểm mạnh của nó có lợi nhất. Định dạng PBM, cùng với phần còn lại của bộ Netpbm, tiếp tục là một công cụ có giá trị cho những người làm việc với xử lý hình ảnh cơ bản và chuyển đổi định dạng.
Trình chuyển đổi này hoạt động hoàn toàn trong trình duyệt của bạn. Khi bạn chọn một tệp, nó được đọc vào bộ nhớ và chuyển đổi thành định dạng đã chọn. Bạn sau đó có thể tải xuống tệp đã chuyển đổi.
Quá trình chuyển đổi bắt đầu ngay lập tức, và hầu hết các tệp được chuyển đổi trong dưới một giây. Các tệp lớn hơn có thể mất thời gian lâu hơn.
Tệp của bạn không bao giờ được tải lên máy chủ của chúng tôi. Chúng được chuyển đổi trong trình duyệt của bạn, và sau đó tệp đã chuyển đổi được tải xuống. Chúng tôi không bao giờ nhìn thấy tệp của bạn.
Chúng tôi hỗ trợ chuyển đổi giữa tất cả các định dạng hình ảnh, bao gồm JPEG, PNG, GIF, WebP, SVG, BMP, TIFF, và nhiều hơn nữa.
Trình chuyển đổi này hoàn toàn miễn phí, và sẽ mãi mãi miễn phí. Vì nó chạy trong trình duyệt của bạn, chúng tôi không phải trả tiền cho máy chủ, vì vậy chúng tôi không cần thu phí từ bạn.
Có! Bạn có thể chuyển đổi bao nhiêu tệp bạn muốn cùng một lúc. Chỉ cần chọn nhiều tệp khi bạn thêm chúng.