Hướng dẫn image to text php
Một trong những công việc thường xuyên mà chúng tha thường thao tác với ảnh đó là upload ảnh lên website, sau đó nhân tiện add luôn watermark để đảm bảo bản quyền và gây khó khăn cho đứa nào tính ăn cắp ảnh của mình cũng như “đánh dấu chủ quyền” cho ảnh. Trong bài viết này tôi sẽ hướng dẫn bạn add thêm watermark dạng text lên ảnh bằng PHP. Những thứ chúng ta cần quan tâm và sẽ thực hiện là: Bạn có 2 cách tạo watermark là dùng ảnh(ví dụ logo của bạn) hoặc dùng text. Trong bài viết này
chúng ta dùng cách đơn giản nhất là dùng Text nhé. Hãy chú ý một chút về hình ảnh và font chữ được sử dụng trong ví dụ này. Bạn cần đặt chúng ở vị trí phù hợp – ở đây là cùng thư mục với file PHP của bạn Đây là đoạn mã PHP mà bạn có thể sử dụng: Chúng ta sẽ dừng một chút và giới thiệu với bạn vài điều trong đoạn mã này mà có thể bạn sẽ quan tâm. Chúng ta tạo một ảnh mới bằng PHP sử dụng thông tin trong một tấm ảnh có sẵn, nói cách khác bạn tạo một ảnh mới từ ảnh
có sẵn. Ở đây mình sẽ sử dụng tấm ảnh sau: Watermark Image PHP Để thay đổi màu sắc cho Watermark sẽ được thêm, mình sử dụng RGB color với đoạn mã sau: $textcolor = imagecolorallocate($image, 255, 255, 255); Bạn có thể thay lại mã RGB của bạn nếu muốn sử dụng màu sắc khác. Tiếp theo là font chữ $font_file = 'myfont.ttf'; Cuối cùng là text mà chúng ta dùng làm Watermark $custom_text = "Watermark Text"; Sau khi cấu hình tất cả, chúng ta tiến hành thêm đoạn Text đã cấu gình lên trên tấm ảnh được tạo ra bằng mã PHP ở phần đầu như sau: imagettftext($image, 225, 0, 3450, 3000, $textcolor, $font_file, $custom_text); Để lưu ảnh lại và xuất ra, chúng ta sử dụng đoạn mã sau tạo ra một ảnh JPG mới dựa trên ảnh đã được tạo từ thư viện: Và đây là kết quả cuối cùng mà bạn nhận được: Watermark image with PHP How to extract text from images ?Chào mọi người, hôm nay mình sẽ giới thiệu cách làm thế nào để có thể đọc được text từ hình ảnh có sẵn. Trước tiên đi vào thực hiện (code) mình sẽ trình bày sơ qua về cái mà mình sẽ sử dụng đó là công nghệ nhận dạng ký tự quang học OCR. Vậy thì OCR là gì ??? 1. Khái niệmOCR là một thuật ngữ viết tắt từ cụm từ Optical Character Recognition có thể dịch nôm na nó là Nhận dạng ký tự bằng quang học. Đây là công nghệ được áp dụng để đọc text trên một file ảnh thành định dạng text. 2. Ứng dụngChắc hẳn các bạn đã một lần sử dụng đến công nghệ nhưng không để ý, vì chúng ta chỉ sử dụng nó một cách gián tiếp đó là máy Scanner. OCR được ứng dụng như một phần mềm được tích hợp trên máy tính hoặc trực tiếp vào một phần cứng nào đó. Một số phần mềm khá nổi tiếng như:
Trong số những phần mềm đó thì mình nghĩ ABBYY FineReader là phần mềm tốt nhất, đơn giản vì thời sinh viên mình rất hay dùng phần mềm này để convert những file PDF sang word để copy cho nhanh đỡ phải gõ lại (haha) 3. Hạn chế của OCRBên cạnh đó thì OCR cũng còn khá nhiều những hạn chế như:
4. Xây dựng demo chức năng Extract text from Image sử dụng OCRMình sẽ code demo chắc năng này với CakePHP và sử dụng IDOL OCR API (A.hihi) IDOL OCR API là gì thì mình xin giới thiệu nhanh, nó là một web-service và bạn có thể dử dụng service này ở nhiều ngôn ngữ như PHP , Java , .NET , Python,…etc. Còn trong khuôn khổ bài viết này thì mình sẽ sử dụng ngôn ngữ PHP =)) IDOL OCR API support những format sau: - Image Formats
- Document Formats
Để sử dụng service này thì việc cần làm những bước sau Bước 1Đăng ký một tài khoản tại đây Bước 2Đăng nhập và copy API Key tại đây Xong 2 bước trên bạn đã có thể sử dụng service này rồi, bạn có thể sử dụng web service này với cả phương thức POST và GET, còn trong demo này mình sẽ sử dụng phương thức POST thôi nhóe! Lý thuyết nhiều rồi, nào! bây giờ là lúc các bạn bắt tay vào thực hiện một chức năng để hiểu được những gì mình đã giới thiệu bên trên. Tất cả những thứ bạn cần làm là 1 action và một view thể hiện giao diện của action đó.
Để thực hiện extract text from image, mình cần 1 input để chọn ảnh, 1 box để hiển thị ảnh, một select box để hiển thị các chế độ (mode) ứng với từng hình ảnh và một nút submit. Ý nghĩa của các mode như sau, mình xin copy nguyên tài liệu để tránh dịch sai ý nghĩ gốc của nó
Ứng với từng mode thì text được extract ra hình ảnh là khác nhau, ở đây mình chọn mode là subtitle bời vì hầu hết các hình ảnh mình thực hiện đề có dạng văn bản chồng lên hình ảnh Bạn có thể tìm hiểu rõ hơn https://dev.havenondemand.com/apis/ocrdocument#overview.
Ờ đây, do mình sử dụng API cung cấp của bên thứ 3 nên chúng là cần dùng CURL để post dữ liệu tới web-service đó và nằm đợi kết quả trả về. Biến
Cho tới này IDOL OCR API service đã hỗ trợ khá nhiều ngôn ngữ bạn có thể tìm hiểu thêm Supported Languages
Sau khi upload hình ảnh lên server, bạn sẽ put đường dẫn đó vào
Đoạn code này là cách mình xử lý dữ liệu trả về để hiện ra form. Bạn hoàn toàn không cần sử dụng đoạn code naỳ mà có thể xử lý theo cách của riêng bạn. Đã xong, và đây là kết quả mà chúng ta sẽ nhận được **Chú ý: ** Hàng tháng,havenondemand cho bạn gửi 5000 requests miến phí, nếu bạn muộn unlimit vui lòng Liên hệ để được hỗ trợ 5. Kết thúcCảm ơn bạn đã xem bài viết của mình, trên đây chỉ là chút kiến thức mình đã tìm hiểu và chia sẻ lại, rất mong nhận được sự góp ý của bạn để giúp mình có thể hoàn thiện hơn. (thankyou) 6. Tài liệu tham khảo
|