Pertama ubah gambar RGB ke HSV yang nantinya nilai HSV akan digunakan untuk menentukan nilai batasnya. Untuk batasnya saya gunakan lower_range dan upper_ranger, jadi antara batas tersebut di anggap sebagai nilai yang akan di deteksi. Ketikan code berikut untuk melihat hasilnya : Detection Color Python1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import cv2 import numpy as np img = cv2.imread('color.png', 1) hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) lower_range = np.array([100, 100, 100], dtype=np.uint8) upper_range = np.array([189, 255, 255], dtype=np.uint8) mask = cv2.inRange(hsv, lower_range, upper_range) cv2.imshow('mask',mask) cv2.imshow('image', img) while(1): k = cv2.waitKey(0) if(k == 27): break cv2.destroyAllWindows() Hasilnya akan terlihat batas nilai yang di cari warnanya, dan disini saya mencari warna biru, lihat hasilnya seperti video diatas. Citra digital merupakan representasi dari fungsi intensitas cahaya dalam bentuk diskrit pada bidang dua dimensi. Citra tersusun oleh sekumpulan piksel (picture element) yang memiliki koordinat (x,y) dan amplitudo f(x,y). Koordinat (x,y) menunjukkan letak/posisi piksel dalam suatu citra, sedangkan amplitudo f(x,y) menunjukkan nilai intensitas warna citra. Representasi citra digital beserta piksel penyusunnya ditunjukkan pada Gambar 1. Gambar 1. Citra dan piksel penyusunnyaPada umumnya, berdasarkan kombinasi warna pada piksel, citra dibagi menjadi tiga jenis yaitu citra RGB, citra grayscale, dan citra biner. Citra pada Gambar 1 termasuk dalam jenis citra RGB truecolor 24-bit. Citra tersebut tersusun oleh tiga kanal warna yaitu kanal merah, kanal hijau, dan kanal biru. Masing-masing kanal warna memiliki nilai intensitas piksel dengan kedalaman bit sebesar 8-bit yang artinya memiliki variasi warna sebanyak 2^8 derajat warna (0 s.d 255). Pada kanal merah, warna merah sempurna direpresentasikan dengan nilai 255 dan hitam sempurna dengan nilai 0. Pada kanal hijau, warna hijau sempurna direpresentasikan dengan nilai 255 dan hitam sempurna dengan nilai 0. Begitu juga pada kanal biru, warna biru sempurna direpresentasikan dengan nilai 255 dan hitam sempurna dengan nilai 0. Perintah yang digunakan untuk merepresentasikan citra RGB beserta masing-masing kanal warna nya yaitu: clc;clear;close all; I = imread('peppers.png'); R = I(:,:,1); G = I(:,:,2); B = I(:,:,3); Red = cat(3,R,G*0,B*0); Green = cat(3,R*0,G,B*0); Blue = cat(3,R*0,G*0,B); figure, imshow(I); figure, imshow(Red); figure, imshow(Green); figure, imshow(Blue); |