JavaRush /Java Blog /Random-ID /Menemukan pusat bangun tak beraturan pada bidang datar
fatfaggy
Level 26
Киев

Menemukan pusat bangun tak beraturan pada bidang datar

Dipublikasikan di grup Random-ID
Halo semua. Saya sedang memecahkan masalah sederhana sekarang. Kondisinya terdengar seperti ini:
Diberikan sebuah matriks (array dua dimensi), yang setiap elemennya mewakili sebuah piksel. Piksel bisa berwarna merah, hitam, atau warna lainnya. Perlu dilakukan pencarian efek mata merah pada gambar. Jika pusat piksel hitam bertepatan dengan pusat piksel merah, maka kita menemukan mata merah.
Diasumsikan batas jangkauan piksel merah lebih lebar dibandingkan batas jangkauan piksel hitam. Selain itu, opsi tidak dipertimbangkan jika gambar mengandung piksel merah dan hitam di luar “mata”. Segala sesuatu di luar “mata” akan memiliki warna berbeda. Saya berencana mengimplementasikannya menggunakan (kira-kira) algoritma ini. Dua loop, satu bersarang di dalam yang lain. Yang satu melewati X, yang lain melewati Y. Begitu kita menemukan piksel merah, kita tetapkan koordinatnya sebagai koordinat awal dan mencari koordinat akhir. Begitu ternyata piksel merah sudah tidak muncul lagi, kita perbaiki piksel merah terakhir yang kita temukan sebagai koordinat akhir rentang piksel merah tersebut. Sama dengan piksel hitam. Kemudian kita membagi rentangnya menjadi dua dan menemukan pusatnya. Algoritme seperti itu akan bekerja cukup baik dengan bentuk yang kurang lebih teratur (lingkaran). Dan di sini saya memutuskan untuk memperumit tugas saya)) Yaitu, untuk memahami cara meningkatkan algoritma untuk bentuk tidak beraturan. Misalnya, jika seseorang mempunyai masalah penglihatan (yang menyebabkan bentuk matanya mungkin salah), atau fotonya diambil pada sudut tertentu, atau situasi lainnya... Pencarian cepat membawa saya ke artikel Wikipedia tentang pusat massa dan barycenter. Namun ada begitu banyak bahasa yang menakutkan dan mengerikan di sana sehingga saya memutuskan untuk mengesampingkannya untuk saat ini dan bertanya kepada komunitas bagaimana Anda akan menerapkannya? :)
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION