Pembaca seperti Anda membantu mendukung MUO. Saat Anda melakukan pembelian menggunakan tautan di situs kami, kami dapat memperoleh komisi afiliasi. Baca selengkapnya.

Manusia dapat membedakan sekitar 10 juta warna. Untuk melihatnya, Anda memerlukan sesuatu yang disebut palet warna. Palet warna berisi alat untuk menampilkan berbagai macam warna yang terlihat oleh mata manusia. Di dunia nyata, Anda menggunakannya untuk membuat desain estetika di atas kertas sementara secara digital Anda menggunakannya untuk menambah warna pada elemen layar.

Pada akhirnya, komputer Anda mengkodekan semua nuansa berbeda yang Anda lihat di layar menggunakan format tertentu. Dengan Python, Anda dapat mengembangkan palet warna yang disandikan RGB hanya dalam beberapa baris kode berkat modul OpenCV dan NumPy.

Modul OpenCV dan NumPy

Anda dapat menganalisis gambar dan video menggunakan OpenCV. Ini gratis, open source, mudah digunakan, dan dikemas dengan pustaka yang bermanfaat. Ini memberikan teknik untuk mengklasifikasikan, menemukan, dan melacak objek dalam dua dan tiga dimensi. Untuk menginstal OpenCV di lingkungan Anda, buka terminal dan jalankan:

instagram viewer

pip instal opencv-python

Modul NumPy adalah pustaka populer lainnya yang akan Anda lihat banyak digunakan oleh program Python. NumPy—Python numerik—adalah modul yang dapat Anda gunakan untuk analisis data dan komputasi ilmiah. Ini menyediakan objek array n-dimensi juga operasi matematika yang membantu dalam manipulasi array ini.

Untuk menginstal NumPy di ​​lingkungan Anda, jalankan:

pip instal numpy

Umumnya, Anda akan menggunakan OpenCV untuk memproses gambar menggunakan teknik seperti deteksi tepi. Anda kemudian dapat menggunakan NumPy untuk melakukan analisis data pada gambar yang diproses. Menggunakan kombinasi ini Anda bisa membuat dan mendekode kode QR, mengklasifikasikan gambar, melakukan pengenalan karakter optik, dan membangun sistem pengawasan video yang dapat mendeteksi gerakan dan melacak individu secara waktu nyata.

Cara Membuat Palet Warna Menggunakan Python

Ikuti langkah-langkah ini untuk membuat Palet Warna menggunakan modul OpenCV dan NumPy dengan Python.

Anda dapat menemukan sumber Palet Warna Menggunakan Python di sini GitHub gudang.

Mulailah dengan mengimpor modul OpenCV dan NumPy. Tentukan fungsi bernama fungsi kosong() yang berisi pernyataan pass. Pernyataan pass bertindak sebagai pengganti kode yang dapat Anda tulis di masa mendatang. Ini sangat berguna dengan fungsi seperti createTrackbar, yang akan Anda gunakan nanti. Ini membutuhkan fungsi panggilan balik yang valid dan Anda dapat meneruskan emptyFunction sebagai placeholder untuk saat ini.

impor cv2
impor numpy sebagai np

deffungsikosong():
lulus

Hasilkan array tiga dimensi ukuran 512 * 512 * 3 dengan tipe data uint8 menggunakan NumPy's nol() fungsi. Setiap array akan terdiri dari 512 kolom dan 512 baris. uint8 mewakili bilangan bulat yang tidak ditandatangani, sehingga program mengisi larik dengan nol.

gambar = np.nol((512, 512, 3), np.uint8)

Tetapkan nama jendela yang akan ditampilkan program dan berikan ke bernamaWindow() fungsi untuk membuat jendela:

namajendela = "Palet Warna OpenCV"
cv2.namedWindow (windowName)

Selanjutnya, buat tiga track bar untuk komponen warna merah, hijau, dan biru. Anda dapat melakukan ini menggunakan OpenCV buatTrackbar() fungsi. Pertama, berikan label sebagai Merah, Biru, atau Hijau. Kedua, Anda harus memberikan nama jendela tempat Anda ingin meletakkan contoh bilah ini, windowName.

Parameter ketiga adalah batas minimum track bar, 0 dalam hal ini. Parameter keempat menentukan nilai maksimum, yaitu 255 untuk nilai warna 24-bit. Parameter kelima dan terakhir adalah fungsi panggilan balik yang memerlukan fungsi valid dari createTrackbar. Inilah mengapa Anda membuat emptyFunction sebelumnya, untuk bertindak sebagai placeholder.

cv2.createTrackbar('Biru', namajendela, 0, 255, fungsi kosong)
cv2.createTrackbar('Hijau', namajendela, 0, 255, fungsi kosong)
cv2.createTrackbar('Merah', namajendela, 0, 255, fungsi kosong)

Deklarasikan while loop tak terbatas dan berikan nama jendela bersama dengan gambar yang ingin Anda tampilkan ke OpenCV imshow() fungsi. Karena gambar berisi susunan nol tiga dimensi, program awalnya menampilkan layar hitam.

Periksa apakah pengguna telah menekan tombol escape dengan menguji nilai dari tombol tunggu() terhadap 27 (kode ASCII untuk tombol Escape). Fungsi waitkey() menampilkan jendela untuk jumlah milidetik yang diberikan atau hingga Anda menekan tombol. Dengan melewatkan satu sebagai input, ini menampilkan jendela selama satu milidetik tetapi beregenerasi karena perulangan while yang tak terbatas.

Untuk mendapatkan posisi bilah trek saat ini, berikan nama bilah trek beserta nama jendelanya ke getTrackbarPos(). Ulangi langkah ini untuk tiga komponen warna terpisah, biru, hijau, dan merah. Gunakan operator irisan untuk menetapkan tiga nilai ke larik gambar. Ini akan menggantikan set nilai sebelumnya, awalnya semua nol, dengan nilai saat ini sesuai dengan posisi track bar.

ketika (BENAR):
cv2.imshow (windowName, gambar)

jika cv2.waitKey(1) == 27:
merusak

biru = cv2.getTrackbarPos('Biru', namajendela)
hijau = cv2.getTrackbarPos('Hijau', namajendela)
merah = cv2.getTrackbarPos('Merah', namajendela)
gambar[:] = [biru, hijau, merah]
cetak (biru, hijau, merah)

Setelah pengguna menekan tombol Escape, gunakan hancurkan SemuaWindows() untuk menutup jendela program dibuka:

cv2.hancurkanSemuaWindows()

Terakhir, gabungkan semuanya dan jalankan untuk mengontrol dan melihat palet warna Anda.

Output dari Program Palet Warna Python

Saat menjalankan program di atas, sebuah jendela muncul yang berisi tiga track bar untuk warna Biru, Hijau, dan Merah. Bilah trek bergerak dari rentang 0 hingga 255. Saat Anda memvariasikan nilai dari batang yang berbeda, Anda akan melihat corak warna yang berbeda pada bagian di bawah ini.

Dalam contoh pertama ini, Anda dapat melihat pengaturan bilah Biru sebagai 0, Hijau sebagai 69, dan Merah sebagai 255. Warna keluaran yang dihasilkan adalah warna jingga/merah. Selain itu, jendela terminal menampilkan nilai warna sebagai 0 69 255.

Demikian pula, ketika Anda mengatur bilah Biru sebagai 130, Hijau sebagai 0, dan Merah sebagai 75, Anda akan mendapatkan warna Indigo.

Berbagai Aplikasi OpenCV

OpenCV menawarkan fungsi berharga untuk tugas-tugas seperti pemrosesan gambar, pengenalan objek, pengenalan wajah, dan pelacakan. Menggunakan OpenCV Anda dapat menghasilkan aplikasi visi komputer waktu nyata yang akan menjadi keuntungan di berbagai bidang seperti robotika, otomasi industri, pencitraan medis, dan sistem pengawasan.

Masa depan visi komputer sangat menjanjikan. Anda akan dapat menggunakan computer vision untuk membantu tunanetra, menghasilkan pertumbuhan yang lebih baik di bidang pertanian, meningkatkan keselamatan jalan menggunakan Mobil Self Driving, dan bahkan menjelajahi planet lain, seperti Mars.