Biasanya, analisis citra dengan algoritma computer vision melewati tahapan berikut (tetapi beberapa tahapan mungkin tidak ada):
1. Prapemrosesan citra. Pada tahap ini, peningkatan kualitas gambar dapat terjadi, seperti meningkatkan kontras, penajaman, atau sebaliknya, mengaburkan gambar untuk menghilangkan noise dan detail kecil kecil darinya. Semua ini diperlukan agar lebih mudah menganalisis gambar di masa mendatang.
2. Filtrasi menengah. Pada tahap ini, berbagai filter diterapkan pada gambar untuk menunjukkan area yang diminati pada gambar atau untuk memfasilitasi kerja algoritma analisis gambar khusus.
3. Mengungkap tanda-tanda khusus (ciri-ciri).Ini bisa berupa pemilihan titik khusus, pemilihan kontur atau beberapa fitur lainnya.
4. Analisis tingkat tinggi. Pada tahap ini, menurut fitur yang ditemukan pada gambar, objek tertentu ditentukan, dan, sebagai aturan, koordinatnya. Juga pada tahap ini, segmentasi atau beberapa pemrosesan tingkat tinggi lainnya dapat terjadi.
Sekarang mari kita mulai bisnis. Kami akan melihat bekerja dengan Python + OpenCV di lingkungan PyCharm. Pertama kita perlu menginstal OpenCV. Untuk melakukan ini, buka ImportSettings:
Selanjutnya, di ProjectInterpreter dan klik tanda plus di sana:
Kami mencari opencv di sana dan menginstalnya:
Sekarang kita akan menulis "Hello, World" - program yang akan menampilkan gambar:
import cv2
my_photo = cv2.imread('MyPhoto.jpg')
cv2.imshow('MyPhoto', my_photo)
cv2.waitKey(0)
cv2.destroyAllWindows()
Ini adalah jendela yang akan dibuka program ini:
Apa yang dilakukan program ini? Ini memuat gambar dari file, menampilkannya, dan menunggu kunci ESC untuk keluar.
Mari kita coba sesuatu dengan gambar ini. Misalnya, Anda dapat mengubah ukurannya. Misalkan kita ingin membuat gambar lebar 200. Untuk melakukan ini, mari kita hitung tingginya dan gunakan data ini untuk menskalakannya:
import cv2
my_photo = cv2.imread('MyPhoto.jpg')
cv2.imshow('MyPhoto', my_photo)
#
final_wide = 200
r = float(final_wide) / my_photo.shape[1]
dim = (final_wide, int(my_photo.shape[0] * r))
#
resized = cv2.resize(my_photo, dim, interpolation = cv2.INTER_AREA)
cv2.imshow("Resized image", resized)
cv2.waitKey(0)
cv2.destroyAllWindows()
Inilah yang kami dapatkan:
Seringkali, untuk mempermudah analisis gambar, Anda perlu membuat gambar menjadi hitam putih. Salah satu caranya adalah dengan mengupload foto sekaligus dalam ruang hitam putih:
import cv2
img = cv2.imread('MyPhoto.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('MyPhoto', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Jika Anda perlu mengonversi gambar yang sudah dimuat, Anda dapat menggunakan fungsi cvtColor, yang mengubah gambar dari satu ruang warna ke ruang warna lainnya:
import cv2
img = cv2.imread('MyPhoto.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('MyPhoto', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Beginilah tampilannya:
Jadi, untuk meringkas.
Kami belajar cara menginstal OpenCV, memuat dari file dan menampilkan gambar, serta melakukan transformasi sederhana di dalamnya, seperti menskalakan dan mengubah gambar berwarna menjadi hitam putih. Jika pelajaran ini "masuk", itu akan dilanjutkan.