OpenCV Bitwise Operation

Kita akan gunakan gambar black and white untuk menunjukan konsep bitwise operation, karena akan lebih jelas.

Pertama kita buat object sederhana kotak dan setengah lingkaran.

square = np.zeros((300, 300), np.uint8)
cv2.rectangle(square, (50, 50), (250, 250), 255, -2)

ellipse = np.zeros((300, 300), np.uint8)
cv2.ellipse(ellipse, (140, 140), (120, 140), 30, 0, 180, 255, -1)

f, (ax1, ax2) = plt.subplots(1, 2, figsize=(10,5))
ax1.set_title('Square')
ax1.imshow(square, cmap='gray')
ax2.set_title('Ellipse')
ax2.imshow(ellipse, cmap='gray')

Ada 4 fungsi bitwise

  • bitwise_and : akan menampilkan area yang beririsan.
  • bitwise_or: akan menampilkan semua area.
  • bitwise_xor: akan menampilkan diluar area yang beririsan.
  • bitwise_not: akan menampilkan area inverse.

Untuk lebih jelasnya, lihat gambar dibawah.

img_and = cv2.bitwise_and(square, ellipse)
img_or = cv2.bitwise_or(square, ellipse)
img_xor = cv2.bitwise_xor(square, ellipse)
img_not = cv2.bitwise_not(ellipse)

f, (ax1, ax2, ax3, ax4) = plt.subplots(1, 4, figsize=(14,7))

ax1.set_title('AND')
ax1.imshow(img_and, cmap='gray')
ax2.set_title('OR')
ax2.imshow(img_or, cmap='gray')
ax3.set_title('XOR')
ax3.imshow(img_xor, cmap='gray')
ax4.set_title('NOT')
ax4.imshow(img_not, cmap='gray')

Sharing is caring:

Leave a Comment