Pertanyaan Klasifikasi Gambar - Mendeteksi gambar mirip kartun


Saya memiliki gambar mini jpeg dalam jumlah besar mulai dari 120x90 hingga 320x240 dan saya ingin mengklasifikasikannya sebagai Real Life-like atau Cartoon-like.

Apakah ada aplikasi yang akan memiliki kemampuan klasifikasi kartun?

Aplikasi ini seharusnya bekerja di Linux, dan harus mengambil jalur gambar pada baris perintah dan mengembalikan 0 atau 1 (echo $?).


4
2017-10-05 05:04


asal


Apa sebenarnya yang kamu cari? Suatu program yang akan memungkinkan Anda untuk secara manual menandai gambar, atau program yang secara otomatis akan menandai gambar sebagai kartun atau kehidupan nyata? Juga, sistem operasi apa? - Josh Hunt
Saya telah mengedit pengajuan saya untuk menyertakan jawaban atas pertanyaan Anda.
Saya pikir Anda harus lebih spesifik tentang apa yang Anda maksud dengan "Kartun seperti". Jika mereka menggambar garis dengan isi yang padat, itu sangat sederhana. Jika mereka mengandung shading, itu akan jauh lebih sulit. - rjmunro


Jawaban:


Saya pikir Anda bisa melakukan sesuatu seperti ini Imagemagick. Memiliki kuantisasi gambar dan histogram fitur analisis yang Anda mungkin harus memberikan perawatan nyata.

Hal yang paling sederhana untuk dilakukan adalah menghitung jumlah warna unik di setiap gambar - kartun umumnya harus memiliki lebih sedikit daripada foto. Ini bisa berfungsi apa adanya jika ruang pencarian Anda cukup sederhana. yaitu membedakan kartun sederhana dari foto berwarna. Jika Anda memiliki kartun 'mewah', Anda mungkin harus menambahkan pemeriksaan tambahan. Saya menambahkan gema ekstra untuk RGB vs. Ruang warna abu-abu sebelum memeriksa setiap gambar.

Tes yang lebih canggih mungkin melibatkan pemeriksaan histogram, baik total atau dalam ruang RGB dari setiap gambar.

#!/bin/bash

for i in `ls *.jpg`
do
    echo "$i is `convert $i -format \"%[colorspace]\" info:`"
    x=`convert $i -unique-colors txt:- | wc -l`

    if [ $x -le 512 ]; then
        echo "$i is cartoon like ($x)"
    elif [ $x -le 1024 ]; then
        echo "$i is a bw photo ($x)"
    else
        echo "$i is real life-like ($x)"
    fi
done

Komplikasi utamanya adalah memisahkan animasi komputer kompleks dari foto b & w. Foto B & W mungkin memiliki warna unik yang relatif sedikit di dalamnya, sementara gerai canggih mungkin memiliki ribuan karena arsiran berbantuan komputer. Anda mungkin harus bereksperimen dengan ambang batas untuk 'X' tergantung pada tampilan gambar Anda.


1
2017-10-05 06:52



"Kartun umumnya harus memiliki lebih sedikit daripada foto" .. tidak selalu benar, pikirkan gradien warna. saya akan mencoba menggunakan detecor edge (google sobel, laplace dll) .. dan kemudian menggunakan informasi itu untuk memutuskan, apakah itu kartun atau bukan. gambar kehidupan nyata cenderung memiliki lebih banyak noise dalam 'gambar tepi' seperti itu en.wikipedia.org/wiki/Sobel_operator - akira
Saya setuju, itulah sebabnya saya mengawali dengan 'hal yang paling sederhana'. Tanpa informasi tentang seperti apa kartun ini, saya pergi dengan hal yang paling sederhana yang mungkin berhasil. - DaveParillo
Topik ini secara khusus dibahas di situs web imagemagick: imagemagick.org/Usage/compare/#animation . Garis besar solusi dijelaskan, tetapi bukan contoh konkret. Mungkin saya akan menulis satu malam ini ... - DaveParillo


Asalkan Anda memiliki gambar yang dapat Anda tunjukkan kepada anak-anak sekolah dan ada banyak kartun.

Anda dapat pergi ke sekolah dan menggunakannya KOMPUTER MANUSIA.


0
2017-10-05 07:51