Mengiris dan Mengenali judul buku dan penulis dari gambar rak buku

13

Saya mencoba, untuk tujuan pembelajaran saya sendiri, untuk mengembangkan implementasi algoritma yang akan membuat daftar buku, diberi gambar rak buku seperti berikut ini:

masukkan deskripsi gambar di sini

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:

masukkan deskripsi gambar di sini

Pertanyaan saya adalah:

  1. Bagaimana saya bisa meningkatkan ini untuk menghasilkan hasil yang lebih baik?
  2. Apakah ada cara yang lebih cerdas untuk melakukan ini?
  3. seberapa jauh saya harus memproses gambar untuk meningkatkan akurasi pada fase OCR (nanti)?
  4. Bagaimana cara menggunakan informasi warna untuk meningkatkan segmentasi?
Oren Pinsky
sumber
1
@OrenPinsky Saya tidak melihat masalah dengan segmentasi: jumlah "area buku palsu" tidak tinggi (saya hanya dapat melihat satu dalam sampel yang Anda berikan), dan jika Anda berencana untuk melakukan semacam pengenalan teks sebagai langkah selanjutnya, itu sudah cukup untuk membedakan antara buku (area memiliki teks) dan bukan-buku (tidak ada teks)
penelope
3
@ OrenPinsky, saya akan mengatakan hasil Anda cukup bagus. :)
Dima

Jawaban:

7

Berikut ini tautan ke makalah penelitian yang mencoba melakukan hal yang sama seperti yang Anda inginkan. Mungkin membantu Anda. menggunakan fitur gambar Juga video keren di youtube

isrish
sumber
Sayangnya, tautan pertama rusak.
Youngjae
4

Metode apa yang Anda gunakan untuk mendeteksi garis? Sudahkah Anda mencoba bereksperimen dengan LSD ?

Berikut adalah hasil dari tes cepat yang saya lakukan menggunakan LSD:

0.1heightpic1

Gambar kedua adalah hasil dengan batasan sudut yang sama tetapi mengabaikan panjang segmen: pic2

Anda dapat mencoba sedikit bermain dengan ini, mencari tahu bagaimana memilih segmen garis terbaik, memperluas mereka ke garis dan mungkin mendapatkan hasil yang sedikit lebih baik daripada yang Anda posting.

ppalasek
sumber
6
"Sudahkah kamu mencoba bereksperimen dengan LSD?" Usaha yang bagus, FBI;)
Lorem Ipsum
ImageLine Mathematica didasarkan pada transformasi Hough, dan saya sekarang yakin (dari umpan balik di sini, sebagian besar) bahwa itu bekerja dengan cukup baik. Ini menggangguku, meskipun, bahwa saya kehilangan data yang relevan ketika saya berubah menjadi skala abu-abu, dan bahwa dalam aplikasi ini data warna dapat (secara intuitif) membantu detektor tepi yang kuat. Akan coba LSD dan lihat bagaimana hasilnya! (itu bekerja dengan sangat baik untuk Steve Jobs! ;-)
Oren Pinsky
Saya telah melihat seorang teman menggunakan LSD untuk deteksi pintu, saya pikir dia senang dengan hasilnya pada akhirnya. Saya akan mengatakan itu layak dicoba: D
penelope
1

Anda dapat mencoba melakukan deteksi tepi pada domain warna individual dan kemudian menggabungkannya, menggunakan metode pilihan Anda untuk deteksi tepi.

Dibandingkan dengan deteksi tepi langsung pada gambar berwarna, ini mungkin menghasilkan hasil yang lebih baik.

Naresh
sumber