Sebelum kita memulai diskusi tentang akuisisi dan pemrosesan gambar menggunakan Python, kita akan memulai dengan gambaran umum tentang berbagai aspek Python. Ini akan dimulai dengan proses instalasi Python dengan semua modul menggunakan distribusi Anaconda. Setelah instalasi selesai, baru kemudian kita dapat mulai menjelajahi berbagai fitur Python. Pembelajaran dasar akan dimulai dengan meninjau berbagai struktur data seperti list, kamus, dan tupel dan pernyataan seperti for-loop, if-else, iterator, dan pemahaman list.
Algoritma adalah suatu metode khusus yang tepat dan terdiri dari serangkaian langkah yang logis, terstruktur dan dituliskan secara sistematis, yang akan dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer. Algoritma disusun oleh sederetan langkah instruksi yang logis. Tiap langkah instruksi mengerjakan suatu tindakan (aksi). Bila suatu aksi dilaksanakan, maka sejumlah operasi yang bersesuaian dengan aksi itu dikerjakan oleh pemroses. Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi, pemilihan aksi, dan pengulangan aksi. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma.
Meskipun Python memiliki banyak kelebihan yang menjadikannya salah satu bahasa interpretasi paling populer, Python memiliki beberapa kelemahan, diantaranya:
Ada berbagai Python Environments (lingkungan Python) yang dapat dipilih. Beberapa sistem operasi seperti Mac, Linux, Unix, dll. memiliki penerjemah (interpreter) bawaan. Penerjemah dapat berisi semua modul, tetapi tidak selalu siap untuk digunakan dalam komputasi ilmiah. Pada umumnya akan ada distribusi khusus telah dibuat dan dijual ke komunitas ilmiah, yang dibuat sebelumnya dengan berbagai modul ilmiah Python. Saat menggunakan distribusi ini, pengguna tidak perlu menginstal modul ilmiah satu per satu. Jika modul tertentu yang dibutuhkan tidak tersedia dalam distribusi, maka modul tambahan dapat di-instal untuk melengkapi kebutuhan tersebut. Salah satu distro yang paling populer adalah Anaconda.
Anaconda Python Distribution memberi programmer hampir 100 modul Python ilmiah paling populer seperti komputasi ilmiah, aljabar linier, komputasi simbolis, pemrosesan gambar, pemrosesan sinyal, visualisasi, integrasi program C/C++ ke Python, dll. Ini didistribusikan dan dikelola oleh Continuum Analytics. Environment ini tersedia secara gratis untuk akademisi dan tersedia dalam bundling harga tertentu untuk paket tertentu lain. Selain berbagai modul yang dibangun ke dalam Anaconda, programmer dapat menginstal modul lain menggunakan manajer paket conda, tanpa mempengaruhi distribusi utama.
Dalam Python, blok kode ditunjukkan dengan indentasi. Misalnya dalam kode di bawah ini, pertama-tama akan dicetak pesan, ‘computing squares of numbers between 0 and 9’, Kemudian mengulang nilai dalam rentang 0 hingga 9 dan menyimpannya dalam variabel ‘i’ dan juga mencetak kuadrat dari ‘i’. Pada akhir perulangan kemudian dicetak pesan, ‘Completed the task …’. Dalam bahasa lain, blok kode di bawah for-loop akan diidentifikasi dengan sepasang kurung kurawal { }. Namun, dalam bahasa pemrograman Python tidak menggunakan kurung kurawal. Blok kode diidentifikasi dengan memindahkan print (i*i) empat spasi ke kanan. Anda juga dapat memilih untuk menggunakan tab.
print('Computing squares of numbers between 0 and 9') for i in range(10): print(i*i) print('Completed the task ...')
Ada kerugian yang signifikan untuk indentasi terutama untuk programmer Python baru. Kode yang berisi banyak for-loop dan pernyataan if akan diindentasi lebih jauh ke kanan sehingga kode tidak dapat dibaca. Masalah ini dapat diatasi dengan mengurangi jumlah for-loop dan pernyataan if. Ini tidak hanya membuat kode dapat dibaca tetapi juga mengurangi waktu komputasi. Ini dapat dilakukan dengan menggunakan struktur data seperti list, dictionary, dan set dengan tepat.