Saya mencoba, untuk tujuan pembelajaran saya sendiri, untuk mengembangkan implementasi algoritma yang akan membuat daftar buku, diberi gambar rak buku seperti berikut ini:
Langkah pertama adalah mengiris gambar menjadi masing-masing buku.
Algoritme saya, dalam Mathematica , adalah:
img = ColorConvert[Import["http://i.stack.imgur.com/IaLQk.jpg"], "GrayScale"]
- lakukan deteksi tepi dasar &
hapus teks dan cobalah untuk menjaga garis panjang
edge = DeleteSmallComponents[EdgeDetect[img, 3],Last[ImageDimensions[img]]/5]
kemudian hapus garis horizontal yang tidak diinginkan
lines = Sort[ImageLines[img5] /. {{0., _}, {_, _}} -> Sequence[]] Show[img, Graphics[{Thick, Orange, Line /@ lines}]]
Namun, hasilnya kurang bagus:
Pertanyaan saya adalah:
- Bagaimana saya bisa meningkatkan ini untuk menghasilkan hasil yang lebih baik?
- Apakah ada cara yang lebih cerdas untuk melakukan ini?
- seberapa jauh saya harus memproses gambar untuk meningkatkan akurasi pada fase OCR (nanti)?
- Bagaimana cara menggunakan informasi warna untuk meningkatkan segmentasi?