Tôi muốn nhận dạng chữ số từ thẻ tín dụng. Để làm cho mọi thứ tồi tệ hơn, hình ảnh nguồn không được đảm bảo có chất lượng cao. OCR phải được thực hiện thông qua mạng thần kinh, nhưng đó không phải là chủ đề ở đây.Chuẩn bị hình ảnh phức tạp cho OCR
Vấn đề hiện tại là xử lý trước hình ảnh. Vì thẻ tín dụng có thể có hình nền và đồ họa phức tạp khác, văn bản không rõ ràng như khi quét tài liệu. Tôi đã thực hiện các thí nghiệm với phát hiện cạnh (Canny Edge, Sobel), nhưng nó không thành công. Đồng thời tính toán sự khác biệt giữa hình thang màu xám và hình mờ (như đã nêu tại Remove background color in image processing for OCR) không dẫn đến kết quả OCRable.
Tôi nghĩ hầu hết các cách tiếp cận đều thất bại vì độ tương phản giữa một chữ số cụ thể và nền của nó không đủ mạnh. Có lẽ cần phải phân đoạn hình ảnh thành các khối và tìm giải pháp tiền xử lý tốt nhất cho mỗi khối?
Bạn có bất kỳ đề xuất nào về cách chuyển đổi nguồn thành hình ảnh nhị phân có thể đọc được không? Phát hiện cạnh có phải là đường đi hay tôi nên gắn bó với viền màu cơ bản?
Dưới đây là một mẫu của một cách tiếp cận greyscale-ngưỡng (nơi tôi rõ ràng là không hài lòng với kết quả):
Original image:
ảnh Greyscale:
Hình ảnh bị chặn :
Cảm ơn lời khuyên, Valentin
Vì có quá ít tương phản, tôi sẽ thử phát hiện cạnh, như bạn đã đề cập. –