2013-06-10 37 views
5

Hình ảnh của tôi có "phản xạ ánh sáng", hai số 0 đầu tiên trên hình ảnh có một số khác biệt ánh sáng so với phần còn lại của hình ảnh. Tôi chuyển đổi hình ảnh này thành một hình ảnh nhị phân, phần này trở thành màu trắng, và tôi cần phải có được đường bao chính xác của số và sự cản trở này. Tôi có thể giải quyết điều này bằng cách sử dụng OpenCV?Tôi có thể làm gì để loại bỏ "ánh sáng phản chiếu" của hình ảnh? sử dụng OpenCV

ảnh gốc https://docs.google.com/file/d/0BzUNc6BOkYrNNlE3U04wWEVvVE0/edit?usp=sharing

phiên bản nhị phân https://docs.google.com/file/d/0BzUNc6BOkYrNeEE0U3NvOElqa1E/edit?usp=sharing

Nếu tôi tăng giá trị của ngưỡng cửa, tôi đã làm mất các con số trên bên phải của hình ảnh. Mã của tôi:

#include <opencv2/imgproc/imgproc.hpp> 
#include <opencv2/highgui/highgui.hpp> 

using namespace cv; 

int main (int argc, char **argv) 
{ 
    Mat im_gray = imread("img2.jpg",CV_LOAD_IMAGE_GRAYSCALE); 

    Mat im_rgb = imread("img2.jpg"); 
    cvtColor(im_rgb,im_gray,CV_RGB2GRAY); 

    Mat img_bw = im_gray > 90; 

    imwrite("image_bw2.jpg", img_bw); 

    return 0; 
} 
+5

Sử dụng tính năng làm tròn thích ứng – Blender

+0

Bạn có thể sử dụng mặt nạ. Điểm ảnh càng ít màu trắng, màu đen càng trở nên đen. I E. bạn thay thế các vùng màu nâu và đỏ bằng màu đen. – William

Trả lời

2

Bóng và ánh sáng không phải là vấn đề dễ làm việc. Nhưng với một số công việc tốt, họ có thể vượt qua.

Một bước khác là sử dụng hình ảnh được ngưỡng của bạn làm mặt nạ để có được hình ảnh được ngưỡng khác. Dưới đây là một số tiêu chí mà tôi đã làm việc cho tôi:

  • Hạn chế tất cả nhưng đỉnh cao chiếm ưu thế trong các điểm ảnh chứa trong biểu đồ của trung gian (những gì bạn có ngay bây giờ) ngưỡng hình ảnh
  • Sử dụng đạo hàm để tìm ranh giới (cvSobel có thể giúp)
  • Sử dụng một sự kết hợp của adaptive nghiêm ngặt và ngưỡng cứng tự do để đưa vào tài khoản sự chiếu sáng khác nhau của các bộ phận khác nhau của hình ảnh
0

Thực ra vấn đề không phải là quá khó khăn trong trường hợp của bạn. Bởi vì bạn chỉ có 10 số khác nhau, hãy đào tạo một số trình phân loại để nhận ra chúng.

Đối đầu nhanh chóng, bạn có thể sử dụng http://blog.damiles.com/2008/11/basic-ocr-in-opencv.html

Nó sẽ làm việc vì khiếm khuyết cũng lặp lại một mức độ nào. Bạn có thể đào tạo thuật toán để nhận ra hình ảnh có khuyết tật và quên loại bỏ chúng.

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