- Apakah Gambar itu?
- Bagaimana komputer menyimpan gambar
- Mengapa mesin sulit mengidentifikasi gambar
- Aplikasi dan penggunaan OpenCV
- Menginstal OpenCV dengan Python dan Anaconda
- Membuka dan Menyimpan gambar di OpenCV
- Gambar Skala Abu-abu di OpenCV
- Ruang Warna
- Menjelajahi masing-masing komponen gambar RGB
- Mengubah gambar menjadi komponen RGB individu
- Representasi Histogram dari Gambar
- Menggambar Gambar dan Bentuk menggunakan OpenCV
Seni adalah cara melihat, dan mereka mengatakan melihat adalah percaya, tetapi kebalikannya juga benar, percaya adalah melihat dan sangat sulit untuk membayangkan hidup di dunia ini tanpa karunia penglihatan - mata kita, betapa indahnya menjadi seorang bayi Ketika mata kita terbuka, kita melihat dunia dan mulai mengenali dan melihat dunia di sekitar kita tetapi seiring berjalannya waktu, pengalaman indah yang sama menjadi pengalaman yang biasa. Namun seiring kemajuan kita dengan teknologi, kita berada di ambang di mana mesin juga dapat melihat dan memahaminya. Saat ini, tampaknya bukan sci-fi jika Anda hanya membuka kunci ponsel dengan wajah Anda, tetapi kisah perkembangan visi mesin sudah ada sejak lebih dari 20 tahun yang lalu.
Langkah formal awal di bidang ini diambil kembali pada tahun 1999 dalam inisiatif Intel, ketika semua penelitian yang dilakukan dikolaborasikan di bawah CV OPEN (visi komputer Sumber Terbuka), aslinya ditulis dalam C ++, dengan rilis utama pertamanya 1.0 pada tahun 2006 detik pada tahun 2009, ketiga pada tahun 2015 dan keempat sekarang pada tahun 2018. Sekarang OpenCV memiliki antarmuka C ++, Python dan Java dan mendukung Windows, Linux, Mac OS, iOS dan Android. Sehingga bisa dengan mudah di install di Raspberry Pi dengan lingkungan Python dan Linux. Dan Raspberry Pi dengan OpenCV dan kamera terpasang dapat digunakan untuk membuat banyak aplikasi pemrosesan gambar waktu nyata seperti Deteksi wajah, kunci wajah, pelacakan objek, deteksi pelat nomor mobil, sistem keamanan rumah, dll.
Sebelum mempelajari pemrosesan gambar menggunakan openCV, penting untuk mengetahui gambar apa dan bagaimana manusia dan mesin memandang gambar tersebut.
Apakah Gambar itu?
Gambar adalah representasi dua dimensi dari spektrum cahaya tampak. Dan spektrum cahaya tampak hanyalah bagian dari spektrum elektromagnetik yang terletak di antara spektrum inframerah dan ultraviolet.
Bagaimana gambar terbentuk: - ketika cahaya memantulkan objek ke film, sensor, atau retina.
Beginilah cara kerja mata kita, menggunakan penghalang untuk memblokir sebagian besar titik cahaya yang meninggalkan lubang kecil di mana cahaya dapat melewatinya disebut aperture, dan ini membentuk gambar yang lebih fokus dan merupakan model kerja untuk kamera lubang pin, Tapi ada masalah pada kamera lubang pin, jumlah cahaya yang sama akan masuk ke aperture, yang tidak bisa cocok untuk film atau gambar yang terbentuk juga kita tidak bisa mendapatkan gambar yang terfokus, sehingga untuk memfokuskan gambar kita perlu memindahkan film bolak-balik, tetapi ini bermasalah dalam banyak situasi.
Atau kita bisa mengatasi masalah ini dengan menggunakan lensa, ini memungkinkan kita untuk mengontrol ukuran aperture, dan dalam fotografi dikenal sebagai f Stop, umumnya menurunkan nilai f Stop lebih baik dalam fotografi.
Ukuran apertur juga memungkinkan kita masuk ke kedalaman bidang yang bagus yang disebut Bokeh dalam fotografi, ini memungkinkan kita memiliki latar belakang yang kabur saat kita fokus pada gambar.
Bagaimana komputer menyimpan gambar
Anda mungkin pernah mendengar berbagai format gambar seperti.png,.jpgG dan lain-lain semua ini adalah representasi digital dari dunia analog kita, komputer melakukannya dengan menerjemahkan gambar ke dalam kode digital untuk penyimpanan dan kemudian menafsirkan file tersebut kembali menjadi gambar untuk layar. Tetapi pada dasarnya mereka menggunakan platform umum untuk menyimpan gambar, dan hal yang sama berlaku untuk openCV.
OpenCV menggunakan ruang warna RGB (merah, hijau dan biru) secara default untuk gambar-gambarnya, dimana setiap koordinat piksel (x, y) berisi 3 nilai rentang intensitas dalam bentuk 8-bit yaitu (0-255, 2 8).
Pencampuran intensitas yang berbeda dari setiap warna memberi kita spektrum penuh, itulah mengapa dalam seni lukis atau seni ketiga warna ini dianggap sebagai warna primer dan yang lainnya sebagai warna sekunder, karena sebagian besar warna sekunder dapat dibentuk oleh warna primer. Seperti untuk kuning, kami memiliki nilai berikut: Merah - 255; Hijau - 255; Biru - 0.
Sekarang gambar disimpan dalam array multi-dimensi. Dalam pemrograman, array adalah rangkaian kumpulan objek. Dan di sini kita berurusan dengan tiga jenis array 1D, 2D dan 3D dimana 'D' berarti dimensional.
Gambar berwarna disimpan dalam array tiga dimensi, di mana dimensi ketiga mewakili warna RGB (yang akan kita lihat nanti), dan bersama-sama mereka membentuk intensitas piksel yang berbeda untuk suatu gambar, sedangkan gambar hitam putih disimpan dalam array dua dimensi dan juga ada dua jenis gambar hitam putih, gambar skala abu-abu dan biner.
Gambar skala abu-abu adalah bentuk dari bayangan abu-abu dari array dua dimensi, sedangkan gambar biner adalah piksel baik hitam atau putih.
Mengapa mesin sulit mengidentifikasi gambar
Visi komputer adalah tugas yang menantang itu sendiri, Anda dapat membayangkan betapa sulitnya memberi mesin rasa visi, pengenalan, dan identifikasi. Faktor-faktor berikut ada yang membuat computer vision begitu sulit.
- Sensor kamera dan batasan lensa
- Variasi titik pandang
- Mengubah pencahayaan
- Penskalaan
- Oklusi
- Variasi kelas objek
- Gambar Ambigu / Ilusi Optik
Aplikasi dan penggunaan OpenCV
Terlepas dari kesulitannya, Computer Vision memiliki banyak kisah sukses
- Navigasi Robot - Mobil Mengemudi Sendiri
- Deteksi & Pengenalan Wajah
- Pencarian Gambar Mesin Pencari
- Pembacaan Plat Nomor
- Pengenalan tulisan tangan
- Snapchat & Filter Wajah
- Pengakuan Objek
- Pelacakan Bola & Pemain dalam Olahraga
- Dan masih banyak lagi!
Menginstal OpenCV dengan Python dan Anaconda
OpenCV ditulis dalam C ++, tetapi sangat sulit untuk mengimplementasikannya dengan C ++ dan oleh karena itu kami memilih untuk mengimplementasikannya dengan bahasa tingkat tinggi seperti python, dan juga ada keuntungan tambahan untuk mengimplementasikan OpenCV dengan python karena Python adalah salah satu bahasa termudah untuk pemula juga Ini sangat kuat untuk ilmu data dan aplikasi pembelajaran mesin dan juga menyimpan gambar dalam array numpy yang memungkinkan kita melakukan beberapa operasi yang sangat kuat dengan cukup mudah.
Pemrograman dasar berguna dengan Exposure to High School Level Math, webcam, Python 2.7 atau 3.6 (Paket Anaconda lebih disukai).
Langkah 1. Unduh & Instal Paket Anaconda Python
Buka: https://www.anaconda.com/download dan pilih sesuai dengan mesin Anda, cuaca windows-nya, Linux atau mac dan Anda dapat memilih versi python 2.7 atau python 3.7 untuk sistem 64 Bit atau sistem 32 Bit, tapi sekarang sehari sebagian besar sistem adalah 64 bit.
Distribusi python anaconda datang bersama dengan studio Spyder, notebook jupyter dan anaconda prompt, yang membuat python sangat ramah untuk digunakan. Kami akan menggunakan studio spyder untuk melakukan contoh.
Pilihan antara python 2.7 atau 3.7 sepenuhnya netral, tetapi bagaimanapun untuk contoh kami akan menggunakan python 3.7 karena ini adalah masa depan python dan akan mengambil alih python 2.7 dari 2020, juga sebagian besar perpustakaan sedang dikembangkan dengan python 3.7. aspek masa depan python dalam pikiran. Juga memberikan hasil yang diharapkan pada operasi matematika dasar seperti (2/5 = 2.5), sedangkan python 2.7 akan mengevaluasinya menjadi 2. Juga print diperlakukan sebagai fungsi di python 3.7 (print ("hello")), sehingga memberikan hands-on kepada programmer.
Langkah 2. Membuat platform virtual dengan OpenCV
Kami akan menginstal OpenCV dengan membuat platform virtual untuk spyder dengan menggunakan prompt Anaconda dan file YML diunggah di sini.
Dengan file YML kami akan menginstal semua paket dan pustaka yang akan dibutuhkan, tetapi bagaimanapun jika Anda ingin menginstal paket tambahan, Anda dapat dengan mudah menginstal melalui anaconda prompt, dengan menjalankan perintah dari paket itu.
Buka ikon pencarian windows Anda dan temukan terminal prompt anaconda, Anda dapat menemukannya di dalam folder anaconda yang baru saja Anda instal.
Kemudian Anda harus mencari file YML yang Anda unduh, dan dari sini Anda memiliki dua pilihan, mengubah direktori terminal Anda ke lokasi di mana file YML Anda diunduh atau menyalin file YML Anda ke direktori tempat anaconda Anda diinstal. kasus itu akan berada di dalam C: \ drive, setelah menyalin file YML Anda ke lokasi yang ditentukan JALANKAN perintah berikut pada prompt Anda
conda env create –f virtual_platform_windows.yml
Karena sistem saya berjalan di windows, file YML dan perintahnya sesuai dengan windows, namun Anda dapat memodifikasi sesuai dengan sistem Anda dengan mengganti windows dengan linux atau mac sebagai masing-masing.
Catatan: - Jika ekstraksi paket memberikan error lakukan install pytorch dan numpy terlebih dahulu lalu jalankan perintah di atas.
Sekarang temukan navigator anaconda dan akan ada menu drop-down "Aplikasi di ___" dan dari sana pilih lingkungan virtual dan kemudian dari sana Anda harus meluncurkan studio Spyder.
Selesai, Anda siap untuk memulai!
Membuka dan Menyimpan gambar di OpenCV
Di sini kami menjelaskan beberapa perintah dan terminologi dasar untuk menggunakan Python di OpenCV. Kita akan belajar tentang tiga fungsi dasar di OpenCV imread, imshow dan imwrite.
#comments di python diberikan oleh simbol #
Impor opencv di python dengan perintah
impor cv2
Muat gambar menggunakan 'imread' yang menentukan jalur ke gambar
image = cv2.imread ('input.jpg')
Sekarang gambar tersebut dimuat dan disimpan dalam python sebagai variabel yang kami namai sebagai gambar
Sekarang untuk menampilkan variabel gambar kami, kami menggunakan 'imshow' dan parameter pertama untuk fungsi imshow adalah judul yang ditampilkan di jendela gambar, dan itu harus dimasukkan dalam ('') untuk mewakili nama sebagai string
cv2.imshow ('halo dunia', gambar)
Waitkey memungkinkan kita untuk memasukkan informasi ketika jendela gambar terbuka, dengan membiarkannya kosong hanya menunggu tombol apa saja ditekan sebelum melanjutkan, dengan menempatkan angka (kecuali 0), kita dapat menentukan penundaan berapa lama Anda membiarkan jendela tetap terbuka (waktu dalam milidetik di sini).
cv2.waitKey ()
'destroyAllWindows' menutup semua jendela yang terbuka, kegagalan untuk menempatkan ini akan menyebabkan program Anda macet.
cv2.destroyAllWindows ()
, untuk ini kita akan menggunakan numpy, numpy adalah pustaka untuk pemrograman python untuk menambahkan dukungan ke array dan matriks multidimensi besar.
import cv2 #importing numpy import numpy as np image = cv2.imread ('input.jpg') cv2.imshow ('hello_world', image) #shape function sangat berguna ketika kita melihat dimensi array, itu mengembalikan tupel yang memberikan dimensi cetakan gambar (image.shape) cv2.waitKey () cv2.destroyAllWindows ()
keluaran konsol - (183, 275, 3), Dua dimensi gambar adalah tinggi 183 piksel dan lebar 275 piksel dan 3 berarti ada tiga komponen lain (R, G, B) yang membuat gambar ini (ini menunjukkan bahwa gambar berwarna disimpan dalam array tiga dimensi).
print ('Tinggi gambar:', (image.shape, 'pixels')) print ('Width of image:', (image.shape, 'pixels'))
keluaran konsol - Tinggi gambar: (183, 'piksel')
Lebar gambar: (275, 'piksel')
Menyimpan gambar yang diedit di OpenCV
Kami menggunakan 'imwrite' untuk menentukan nama file dan gambar yang akan disimpan.
cv2.imwrite ('output.jpg', image) cv2.imwrite ('output.png', image)
Argumen pertama adalah nama file yang ingin kita simpan, {untuk membaca atau menyimpan file yang kita gunakan ('') untuk menunjukkannya sebagai string} dan argumen kedua adalah nama file.
OpenCV memungkinkan Anda untuk menyimpan gambar dalam format yang berbeda.
Gambar Skala Abu-abu di OpenCV
Skala abu - abu adalah proses di mana gambar diubah dari warna penuh menjadi bayangan abu-abu (hitam dan putih)
Dalam pembukaan, banyak fungsi membuat gambar menjadi abu-abu sebelum diproses. Hal ini dilakukan karena menyederhanakan gambar, bertindak hampir seperti pengurangan noise dan meningkatkan waktu pemrosesan karena informasi dalam gambar lebih sedikit (karena gambar abu-abu disimpan dalam array dua dimensi).
import cv2 # load gambar input kami image = cv2.imread ('input.jpg') cv2.imshow ('original', image) cv2.waitKey () #we menggunakan cvtcolor, untuk mengonversi ke greyscale gray_image = cv2.cvtColor (image, cv2.COLOR_BGR2GRAY) cv2.imshow ('grayscale', grey_image) cv2.waitKey () cv2.destroyALLWindows ()
Cara yang lebih sederhana untuk mengubah citra menjadi grayscale adalah dengan menambahkan argumen 0 pada fungsi imread ke samping nama citra
import cv2 grey_image = cv2.imread ('input.jpg', 0) cv2.imshow ('grayscale', grey_image) cv2.waitKey () cv2.destroyAllWindows ()
impor cv2 import numpy sebagai np image = cv2.imread ('input.jpg') print (image.shape) cv2.imshow ('original', image) cv2.waitKey () gray_image = cv2.cvtColor (image, cv2.COLOR_BGR2GRAY) cv2.imshow ('grayscale', grey_image) print (grey_image.shape) cv2.waitKey () cv2.destroyALLWindows ()
Output konsol: - (183, 275, 3) - untuk gambar berwarna
(183, 275) - untuk citra grayscale
Oleh karena itu, jelas terlihat bahwa gambar berwarna direpresentasikan oleh array tiga dimensi, sedangkan gambar skala abu-abu oleh array dua dimensi.
Ruang Warna
Ruang warna adalah cara penyimpanan gambar. RGB, HSV, CMYK adalah ruang warna yang berbeda, ini hanyalah cara sederhana untuk merepresentasikan warna.
RGB - Merah, Hijau dan Biru.
HSV - Corak, Saturasi dan Nilai.
Dan CMYK biasa digunakan pada printer inkjet.
Ruang warna RGB atau BGR
Ruang warna default OpenCV adalah RGB. RGB adalah model warna aditif yang menghasilkan warna dengan menggabungkan warna biru, hijau, dan merah dengan intensitas / kecerahan berbeda. Di OpenCV kami menggunakan kedalaman warna 8 bit.
- Merah (0-255)
- Biru (0-255)
- Hijau (0-255)
Namun OpenCV sebenarnya menyimpan warna dalam format BGR.
Fakta Menarik: - Kami menggunakan urutan BGR di komputer karena bagaimana unsigned 32-bit integer disimpan dalam memori, itu masih disimpan sebagai RGB. Integer yang mewakili warna misalnya: - 0X00BBGGRR akan disimpan sebagai 0XRRGGBB.
Ruang warna HSVHSV (Hue, Saturation & value / Brightness) adalah ruang warna yang mencoba merepresentasikan warna yang dirasakan manusia. Ini menyimpan informasi warna dalam representasi silinder dari titik warna RGB.
Hue - nilai warna (0-179)
Saturasi - Vibrancy warna (0-255)
Nilai - Kecerahan atau intensitas (0-255)
Format ruang warna HSV berguna dalam segmentasi warna. Dalam RGB, memfilter warna tertentu tidaklah mudah, namun HSV membuatnya lebih mudah untuk mengatur rentang warna untuk menyaring warna tertentu seperti yang kita lihat.
Hue mewakili warna dalam HSV, nilai hue berkisar dari 0 - 180 dan bukan 360 sehingga tidak menyelesaikan lingkaran penuh sehingga dipetakan secara berbeda dari standar.
Filter rentang warna
- Merah - (165-15)
- Hijau - (45-75)
- Biru - (90-120)
Seperti yang kita ketahui gambar disimpan dalam ruang warna RGB (Merah, Hijau dan Biru) dan OpenCV menunjukkan hal yang sama kepada kita, tetapi hal pertama yang perlu diingat tentang format RGB opencv adalah bahwa itu sebenarnya BGR dan kita dapat mengetahuinya dengan melihat bentuk gambar.
import cv2 import numpy as np image = cv2.imread ('input.jpg') # B, G, R nilai untuk 0,0 piksel pertama B, G, R = image print (B, G, R) print (image.shape) # sekarang jika kita menerapkan ini pada gambar grayscale gray_img = cv2.cvtColor (image, cv2.COLOR_BGR2GRAY) print (gray_img.shape) #gray_image nilai piksel untuk cetakan 10,50 piksel (gray_img)
Output Konsol: cetak (B, G, R) - 6 11 10
cetak (image.shape) - (183, 275, 3)
cetak (bentuk_ abu-abu) - (183, 275)
cetak (grey_img) - 69
Sekarang hanya ada dua dimensi dalam gambar skala abu-abu, karena kita ingat gambar berwarna disimpan dalam tiga dimensi, dimensi ketiga adalah (R, G, B) sedangkan dalam skala abu-abu hanya ada dua dimensi, karena (R, G, B) tidak ada dan untuk posisi piksel tertentu kita hanya mendapatkan satu nilai sedangkan pada gambar berwarna kita mendapat tiga nilai.
Ruang warna lain yang berguna adalah HSV
import cv2 image = cv2.imread ('input.jpg') hsv_image = cv2.cvtColor (image, cv2.COLOR_BGR2HSV) cv2.imshow ('HSV image', hsv_image) cv2.imshow ('Hue channel', hsv_image) cv2. imshow ('saluran saturasi', hsv_image) cv2.imshow ('saluran nilai', hsv_image) cv2.waitKey () cv2.destroyAllWindows ()
Setelah menjalankan kode, Anda dapat melihat empat gambar di mana tiga adalah saluran individu dan satu gambar gabungan HSV.
Citra saluran Hue cukup gelap karena nilainya hanya bervariasi dari 0 hingga 180.
Juga, perhatikan bahwa fungsi imshow mencoba untuk menampilkan gambar RGB atau BGR, tetapi konversi HSV tumpang tindih.
Selain itu, saluran nilai akan serupa dengan skala abu-abu gambar karena kecerahannya.
Menjelajahi masing-masing komponen gambar RGB
import cv2 image = cv2.imread ('input.jpg') # opencv 's split function membagi imageinti setiap indeks warna B, G, R = cv2.split (image) cv2.imshow ("Red", R) cv2.imshow ("Green", G) cv2.imshow ("Blue", B) #membuat gambar asli dengan menggabungkan komponen warna individual merged = cv2.merge () cv2.imshow ("merged", merged) #amplifying warna biru digabungkan = cv2.merge () cv2.imshow ("digabung dengan amplify biru", digabung) #menunjukkan bentuk komponen warna individual. # Output hanya akan dua dimensi yang akan tinggi dan lebar, karena elemen ketiga dari komponen RGB diwakili secara individual print (B.shape) print (R.bentuk) cetak (G.shape) cv2.waitKey (0) cv2.destroyAllWindows ()
Output konsol: #dimensi gambar dari fungsi bentuk
(183, 275)
(183, 275)
(183, 275)
Mengubah gambar menjadi komponen RGB individu
Pada kode di bawah ini kami telah membuat matriks nol dengan dimensi gambar HxW, nol mengembalikan array yang diisi dengan nol tetapi dengan dimensi yang sama.
Fungsi bentuk sangat berguna ketika kita melihat dimensi sebuah gambar, dan disini kita telah melakukan pemotongan pada fungsi bentuk tersebut. Jadi bentuk akan mengambil semuanya ke titik yang ditentukan yaitu hingga titik kedua yang ditunjuk yang akan menjadi tinggi dan lebar gambar karena ketiga mewakili komponen RGB gambar dan kita tidak membutuhkannya di sini.
impor cv2 import numpy sebagai np image = cv2.imread ('input.jpg') B, G, R = cv2.split (image) nol = np.zeros (image.shape, dtype = "uint8") cv2.imshow ("MERAH", cv2.merge ()) cv2.imshow ("Hijau", cv2.merge ()) cv2.imshow ("Biru", cv2.merge ()) cv2.waitKey (0) cv2.destroyAllWindows ()
Representasi Histogram dari Gambar
Representasi histogram citra merupakan metode visualisasi komponen citra.
Kode berikut memungkinkan Anda menganalisis gambar melalui histogram warna dari komponen warna gabungan dan individualnya.
impor cv2 impor numpy sebagai np #kita perlu mengimpor matplotlib untuk membuat plot histogram impor matplotlib.pyplot sebagai plt image = cv2.imread ('input.jpg') histogram = cv2.calcHist (,, None,,) #we plot a histogram, ravel () memperhalus susunan gambar kita plt.hist (image.ravel (), 256,) plt.show () #viewing saluran warna terpisah color = ('b', 'g', 'r') #we know pisahkan warna dan plot masing-masing dalam histogram untuk i, kolom dalam enumerate (color): histogram2 = cv2.calcHist (,, None,,) plt.plot (histogram2, color = col) plt.xlim () plt.show ()
Mari kita pahami fungsi calcHist dengan masing-masing parameter individualnya
cv2.calcHist (gambar, saluran, mask, histsize , rentang)
Gambar: ini adalah gambar sumber tipe uint 8 atau float 32. Ini harus diberikan dalam tanda kurung siku, yaitu "", yang juga menunjukkan larik tingkat kedua karena gambar untuk pembukaan adalah data dalam bentuk larik.
Saluran: itu juga diberikan dalam tanda kurung siku. Ini adalah indeks saluran yang kita hitung histogramnya, misalnya jika input adalah gambar grayscale nilainya, untuk gambar berwarna dapat Anda lewati, atau untuk menghitung histogram saluran biru, hijau dan merah masing-masing.
Topeng: gambar topeng. untuk menemukan histogram dari gambar penuh, itu diberikan sebagai "tidak ada". Tetapi jika Anda ingin mencari histogram dari wilayah gambar tertentu, Anda harus membuat gambar topeng untuk itu dan memberikannya sebagai topeng.
Histsize: Ini mewakili jumlah BIN kami. Perlu diberikan dalam tanda kurung siku untuk skala penuh yang kita lewati.
Rentang: Ini jangkauan kami, biasanya
Menggambar Gambar dan Bentuk menggunakan OpenCV
Di bawah ini adalah beberapa Contoh untuk menggambar garis, persegi panjang, poligon, lingkaran dll di OpenCV.
import cv2 import numpy as np #creating a black square image = np.zeros ((512.512,3), np.uint8) #we juga dapat membuat ini dalam warna hitam dan putih, namun tidak akan ada perubahan image_bw = np.zeros ((512.512), np.uint8) cv2.imshow ("persegi panjang hitam (warna)", gambar) cv2.imshow ("persegi panjang hitam (B&W)", image_bw)
Garis
#membuat garis di atas kotak hitam # cv2.line (gambar, koordinat awal, koordinat akhir, warna, ketebalan) #menggambar garis diagonal dengan ketebalan 5 piksel image = np.zeros ((512.512,3), np.uint8) cv2.line (image, (0,0), (511.511), (255,127,0), 5) cv2.imshow ("blue line", image)
Empat persegi panjang
#membuat persegi panjang di atas kotak hitam # cv2.rektangle (gambar, koordinat awal, koordinat akhir, warna, ketebalan) #menggambar persegi panjang dengan ketebalan 5 piksel image = np.zeros ((512.512,3), np.uint8) cv2. rectangle (gambar, (30,50), (100.150), (255.127,0), 5) cv2.imshow ("rectangle", gambar)
Lingkaran#membuat lingkaran di atas kotak hitam # cv2.circle (gambar, pusat, radius, warna, isi) image = np.zeros ((512.512,3), np.uint8) cv2.circle (image, (100.100), (50), (255,127,0), - 1) cv2.imshow ("lingkaran", gambar)
Poligon#creating a polygon image = np.zeros ((512.512,3), np.uint8) #lets definisikan empat titik pts = np.array (,,,], np.int32) #lets sekarang membentuk ulang poin kita dalam bentuk yang dibutuhkan oleh polylines pts = pts.reshape ((- 1,1,2)) cv2.polylines (image,, True, (0,255,255), 3) cv2.imshow ("polygon", image)
Teks#putting teks menggunakan opencv # cv2.putText (gambar, 'teks untuk ditampilkan', titik awal kiri bootom, font, ukuran font, warna, ketebalan) image = np.zeros ((512.512,3), np.uint8) cv2. putText (image, "hello world", (75.290), cv2.FONT_HERSHEY_COMPLEX, 2, (100.170,0), 3) cv2.imshow ("hello world", image) cv2.waitKey (0) cv2.destroyAllWindows ()
Computer Vision dan OpenCV adalah topik yang sangat luas untuk dibahas, tetapi panduan ini akan menjadi titik awal yang baik untuk mempelajari OpenCV dan pemrosesan gambar.