Friday, December 14, 2018

Buku Pengolahan Citra Digital dengan Python dan OpenCV - Merging Binary Object


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


kalian bisa lanjut baca lagi di  http://softscients.com/2020/03/30/buku-pengolahan-citra-digital-dengan-python-dan-opencv-merging-binary-object/



Sinopsis

Pengolahan citra digital untuk pada operasi morflogi sangat dibutuhkan sebagai alat bantu pengenalan sebuah pola, misalkan pada mesin OCR (optical character recognition) terutama untuk mengenal karakater/simbol huruf kecil/ huruf kanji/ ataupun huruf dengan simbol yang secara umum 1 huruf terdiri dari 1 objek, misalkan saja huruf kanji/huruf arab yang setiap hurufnya terkadang dibuat beberapa simbol. Operasi ini melibatkan operasi blob, kalian bisa baca link berikut
http://www.softscients.web.id/2016/09/mengenal-contour-retrieval-mode.html

Berikut gambar yang akan digunakan yang merupakan sebuah simbol yang utuh, bila kalian perhatikan ada 2 objek yang tidak saling terhubung. Bila kalian menggunakan operasi Blob, maka akan ada 2 objek yang dikenali (bukan 1 objek)

Buku Pengolahan Citra Digital dengan Python dan OpenCV - Merging Binary Object
Bila dibuat negasi image nya, akan tampil seperti berikut
Buku Pengolahan Citra Digital dengan Python dan OpenCV - Merging Binary Object
Langkah mudahnya yaitu menggunakan teknik rectangle.
Buku Pengolahan Citra Digital dengan Python dan OpenCV - Merging Binary Object
Kalian bisa melihat akan terdeteksi menjadi satu objek secara utuh.
Buku Pengolahan Citra Digital dengan Python dan OpenCV - Merging Binary Object
Kalian bisa menggunakan kode seperti berikut:

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()

ref:
https://www.iwillteachyoualanguage.com

No comments:

Post a Comment