loading...

Jumat, 14 Desember 2018

Python-Union of Object using OpenCV


Sebelum membaca postingan ini, sebaiknya anda perlu tahu dasar-dasar python terlebih dahulu
Serta cara instal OpenCV, silahkan beli buku saya di:
http://www.softscients.web.id/2018/11/buku-belajar-mudah-python-dengan.html
Opencv dengan versi  '3.4.1'
Mengenai teknik contours
Silahkan baca ini


http://www.softscients.web.id/2016/09/mengenal-contour-retrieval-mode.html

Berikut gambar yang akan digunakan
 Kita menginginkan agar menjadi tergabung/union


Kode yang digunakan
import cv2
import numpy as np
from matplotlib import pyplot as plt

plt.close('all')    
img = cv2.imread('D:/5. Project/python-intersection/gambar.png', cv2.IMREAD_GRAYSCALE);
img2 = img.copy()
img3 = img.copy()
cv2.bitwise_not(img,img2)
cv2.bitwise_not(img,img3)
plt.figure()
plt.imshow(img2,cmap='gray')


font = cv2.FONT_HERSHEY_SIMPLEX
ret,thresh = cv2.threshold(img2,127,255,0)
image, contours, _ = cv2.findContours(thresh,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
##################################
#DIGABUNGKAN VIA RECTANGLE
##################################
for contour in contours:
    [x,y,w,h] = cv2.boundingRect(contour)      
    if w > 10 and h>10:
        cv2.rectangle(img2,(x,y),(x+w,y+h),(255,255,0),2)
plt.figure()
plt.imshow(img2,cmap='gray')


##################################
#HASIL AKHIR
##################################

image, contours, _ = cv2.findContours(img2,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
for contour in contours:
    [x,y,w,h] = cv2.boundingRect(contour)      
    if w > 10 and h>10:
        cv2.rectangle(img3,(x,y),(x+w,y+h),(255,255,0),2)

plt.figure()
plt.imshow(img3,cmap='gray')
plt.show()



Tidak ada komentar: